R语言与医学统计图形-【32】海盗图、词云图、日历图
1.海盗图
参数众多,其语法与基础包类似。
基础图。
#devtools::install_github('ndphillips/yarrr')
#install.packages('yarrr')
library(yarrr)
#基本海盗图
str(pirates)
pirateplot(formula = age ~ favorite.pirate,
data = pirates,
xlab = 'Favorite Pirate',
ylab = 'Age',
main="")

散点图展示年龄分布,盒形图展示平均年龄,beans展示年龄大致分布,越胖越集中。
不同主题的海盗图。
#theme
par(mfrow=c(2,2))
for(i in 1:4){
pirateplot(formula = age~favorite.pirate,
data=pirates,
xlab = 'Favorite Pirate',
ylab = 'Age',
gl.lwd = 0, #不显示背景网格线
bty = 'l', #边框类型
pal = 'xmen', #调色板piratepal函数种的xmen色系
avg.line.lwd = 0.5, #均值线宽
main = paste('Theme is:',i),
theme = i)
}

设置透明度。
#设置透明度
pirateplot(formula = age~favorite.pirate,
data=pirates,
xlab = 'Favorite Pirate',
ylab = 'Age',
gl.lwd = 0,
bty = 'l',
pal = rainbow(6),
avg.line.lwd = 1.2,
point.col = rainbow(6),
point.o = 0.5, #点透明度
inf.f.o = 0.8, #盒子透明度
bar.f.o = 0.2, #添加透明度bar图
bean.f.o = 0.4) #bean条带透明度

自定义坐标轴。
#自定义坐标轴
pirateplot(formula = age~favorite.pirate,
data=pirates,
xlab = 'Favorite Pirate',
ylab = 'Age',
gl.lwd = 0,
bty = 'n',
ylim = c(-10,50), #注意范围要能容下x轴标签
pal = rainbow(6),
avg.line.lwd = 1.2,
point.col = 0.8,
bar.f.o = 0.2,
bean.f.o = 0.4,
xaxt = 'none',
yaxt = 'none') #不绘制坐标轴
axis(2,at=seq(0,50,5))
pirate <- unique(pirates$favorite.pirate)
text(1:6,-5,labels = sort(pirate),srt=45)

2.词云图
#install.packages('wordcloud2')
library(wordcloud2)
wordcloud2(demoFreq,size = 1.6)
wordcloud2(demoFreq,size = 1.6,
color = 'random-light', #词云颜色
backgroundColor = 'black')#背景色
#形状
wordcloud2(demoFreq,size = 0.7,
shape = 'star') #形状
#中文词云
wordcloud2(demoFreqC,size = 2,
fontFamily = 'STKaiti',
minRotation = -pi/6,
maxRotation = -pi/6,
rotateRatio = 1) #旋转比例
#以单词样式展示
letterCloud(demoFreq,
word = 'hello',
color='random-light',
backgroundColor='grey')

3.日历图
可展示随时间的变化。
如一年中每一天的大气污染物数据。
#install.packages('openair')
library(openair)
#ts函数生成时间序列数据(不包含对应时间)
value <- ts(data = sample(0:300,366,replace = T),
start = as.Date('2016-01-01'),
frequency = 1,
end = as.Date('2016-12-31')
)
#seq函数生成时间,与value对应
date <- seq(from=as.Date('2016-01-01'),
by=1,
length.out = 366)
pm25 <- data.frame(pm25=value,date=date)
calendarPlot(pm25,pollutant = 'pm25',year = 2016)

只展示前3个月的数据。
calendarPlot(selectByDate(pm25,month = c(1,2,3),year = 2016), #取子集
pollutant = "pm25",year = 2016)

从上看出计算机默认语言为中文,所以展示的日历也是中文,星期都显示不全,要解决这个问题只需:
Sys.setlocale("LC_TIME", "English")即可。

R语言与医学统计图形-【32】海盗图、词云图、日历图的更多相关文章
- R语言与医学统计图形【5】饼图、条件图
R语言基础绘图系统 基础图形--饼图.克利夫兰点图.条件图 6.饼图 pie(rep(1,26),col=rainbow(26), labels = LETTERS[1:26], #标签 radius ...
- R语言与医学统计图形【4】直方图、金字塔图
R语言基础绘图系统 基础图形--直方图.金字塔图 3.直方图 参数设置及比较. op <- par(mfrow=c(2,3)) data <- rnorm(100,10,5) hist(d ...
- R语言与医学统计图形【3】条形图、误差图
R语言基础绘图系统 基础图形--条形图.误差图 3.条形图 barplot接收的数据是矩阵而非数据框. data <- sample(c(50:80),5) barplot(data,col=h ...
- R语言与医学统计图形-【33】生存曲线、森林图、曼哈顿图
1.生存曲线 基础包survival+扩展包survminer. survival包内置肺癌数据集lung. library(survival) library(survminer) str(lung ...
- R语言与医学统计图形-【28】ggplot2扩展包ggrepel、ggsci、gganimate、ggpubr
ggplot2绘图系统--扩展包ggrepel.ggsci.gganimate.ggpubr等 部分扩展包可在CRAN直接下载,有些需借助devtools包从Github下载. 1. ggrepel包 ...
- R语言与医学统计图形【1】par函数
张铁军,陈兴栋等 著 R语言基础绘图系统 基础绘图包之高级绘图函数--par函数 基础绘图包并非指单独某个包,而是由几个R包联合起来的一个联盟,比如graphics.grDevices等. 掌握par ...
- R语言与医学统计图形【6】低级绘图函数
R语言基础绘图系统 基础绘图包之低级绘图函数--定义坐标轴.图例.文本 低级绘图函数:本身不具备图形绘制能力,只是在已有图形基础上添加元素. 函数 功能 arrows 添加箭头 axis 坐标轴 bo ...
- R语言与医学统计图形【2】散点图、盒形图
R语言基础绘图系统 基础图形--散点图.盒形图 plot是一个泛型函数(generic method),对于不同的数据绘制不同的图形. par函数的大部分参数在plot中通用. 1.散点图 plot绘 ...
- R语言与医学统计图形【8】颜色的选取
R语言基础绘图系统 基础绘图包之低级绘图函数--内置颜色. 1.内置颜色选取 功能657种内置颜色.colors() 调色板函数:palette(), rgb(), rainbow(). palett ...
随机推荐
- airtest常用指令
airtest 操作adb命令 常用adb 1)对特定设备执行adb指令 dev = connect_device("Android:///device1") dev.shel ...
- BUAA 2020 软件工程 软件分析案例作业
Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业-软件分析案例 我在这个课程的目标是 学习软件 ...
- 基于websocket实现的一个简单的聊天室
本文是基于websocket写的一个简单的聊天室的例子,可以实现简单的群聊和私聊.是基于websocket的注解方式编写的.(有一个小的缺陷,如果用户名是中文,会乱码,不知如何处理,如有人知道,请告知 ...
- python redis自带门神 lock 方法
redis 支持的数据结构比较丰富,自制一个锁也很方便,所以极少提到其原生锁的方法.但是在单机版redis的使用时,自带锁的使用还是非常方便的.自己有车还打啥滴滴顺风车是吧,本篇主要介绍redis-p ...
- Noip模拟32(再度翻车) 2021.8.7
T1 Smooth 很水的一道题...可是最傻 的是考场上居然没有想到用优先队列优化... 上来开题看到这个,最一开始想,这题能用模拟短除法,再一想太慢了,就想着优化 偏偏想到线性筛然后试别的素 ...
- 常用Java API:Calendar日期类
摘要 在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法.Date类大部分方法已经废弃了,所以本文将详细介绍Calendar类. Calendar ...
- 国产新芯片连不上J-Link?芯海CS32L010系列芯片JLink配置方法
疫情以来芯片供货紧张,特别是ST的MCU一芯难求.所以很多产品不得不切换成国产.不过也是经过使用后才发现,很多国产芯片的性能还是挺好的.由于芯片比较新,官方J-Link还没有支持,所以调试和烧录有些不 ...
- VMware vSphere中三种磁盘:精简置备/厚置备置零/厚置备延迟置零
VMware磁盘格式分类. 厚置备延迟置零.厚置备置零和精简置备1.厚置备延迟置零(zeroed thick) 以默认的厚格式创建虚拟磁盘.创建过程中为虚拟磁盘分配所需空间.创建时不会擦除物理设备上保 ...
- JMeter 5.4 打开测试计划 报错:Unexpected error
保存测试计划名为: 新增用户.jmx 关闭 JMeter 再次打开JMeter : 双击 jmeter.bat JMeter 启动 打开 新增用户.jmx Unexpected error. 看上图 ...
- [第二章]c++学习笔记5(构造函数和析构函数调用时机)
示例函数 注:输出并不一定从main函数开始,如全局对象的初始化在main函数前执行,如构造函数中存在输出,则从构造函数的输出开始 此处6被类型转换构造函数的存在转换为临时对象赋值,而在这个过程结束后 ...