文章目录:
一 、R数据可视化16:哑铃图
哑铃图(Dumbbell Chart)就像它的名字一样 ,长得像一个哑铃 。当然当你有多个节点的时候 ,它们还有点像DNA ,所以也有人把这种图形称为DNA图 。
哑铃图是一种很好的可视化方式 ,比如你想要表征不同指标的不同组的情况你可以用多个“哑铃”表示 。另外 ,你想要表示某一组在外界刺激后的变化情况也可以用这种方式 。
我们来看两个例子 。第一个例子中比较了成年人和青少年在使用视频游戏设备方面的差异 。很直观的可以看到青少年比成年人频率更高 ,同时在不同设备的使用频率也能看到明显差异 。
第二个例子 ,分别显示了最低价格 ,中间的价格和最高价格 ,可以看到不同项目的花费差异 。
那么在生物研究中我们可以用于表示哪些数据呢?
最简单的 ,当然是有多个指标的时候 ,我们可以用于显示对照组和实验组的差异 。或者是男女之间的差异等等 。
当然 ,如果你想显示给予一些刺激 ,比如用药前后指标的变化 ,这也是一个选择 。
另外 ,现在有很多是多组学的数据 ,我们会统计志愿者的年龄 ,或者展示某些生理指标的范围等 ,所以我们也可以考虑第二个例子 ,用哑铃图进行展示 ,这样可能会比图标看起来更加直观一些 ,也显得更加美观 。
使用ggalt包或者plotly包就可以实现哑铃图的制作 。我们选择使用ggalt包(该包基于ggplot2包) 。
1)需要什么格式的数据
这次使用一个不同学校男女年收入(单位:千美元)的数据 。
具体如下:
一共统计了21所美国高校 ,包括哈佛 、斯坦福 、MIT等 。
2)如何作图
当然还可以 ,进一步修改 ,比如:添加一个外环
又比如再加入Gap的人数:
也可以换一个风格:
还可以加入平均值:
然后可以用AI添加一下图例哦
往期R数据可视化分享
R数据可视化15:倾斜图 Slope Graph
R数据可视化14:生存曲线图
R数据可视化13:瀑布图/突变图谱
R数据可视化12: 曼哈顿图
R数据可视化11: 相关性图
R数据可视化10: 蜜蜂图 Beeswarm
R数据可视化9: 棒棒糖图 Lollipop Chart
R数据可视化8: 金字塔图和偏差图
R数据可视化7: 气泡图 Bubble Plot
R数据可视化6: 面积图 Area Chart
R数据可视化5: 热图 Heatmap
R数据可视化4: PCA和PCoA图
R数据可视化3: 直方/条形图
R数据可视化2: 箱形图 Boxplot
R数据可视化1: 火山图
二 、R语言绘图——数据可视化ggplot2 介绍和主要的参数
R 有几种用于制作图形的系统 ,但 ggplot2 是最优雅和最通用的系统之一 。与大多数其他图形包不同 ,ggplot2 具有基于图形语法的底层语法 ,它允许您通过组合独立组件来组合图形 。如果想要更加了解ggplot2 ,请阅读 ggplot2: Elegant Graphics for Data Analysis ,可以从 学习本书
所有的图都由数据data ,想要可视化的信息 ,映射mapping(即数据变量如何映射到美学属性的描述)组成
1. 图层(layers) 是几何元素和统计变换的集合 。几何对象 ,简称 geoms ,代表你在图中实际看到的东西:点 、线 、多边形等等 。 统计转换 ,简称 stats ,总结数据:例如 ,装箱和计数观察 ,以创建一个直方图 ,或拟合一个线性模型 。
2. Scales 将数据空间中的值映射到美学空间中的值 。这包括颜色 、形状和大小的使用 。Scale还绘制图例和轴 ,这使得从图中读取原始数据值成为可能(反向映射) 。
3. 坐标(coords) 或坐标系统描述如何将数据坐标映射到图形的平面 。它还提供了轴和网格线来帮助读取图形 。我们通常使用笛卡尔坐标系 ,但也可以使用其他一些坐标系 ,包括极坐标和地图投影 。
4. 刻面(facet) 指定如何拆分数据子集并将其显示为小倍数 。这也被称为条件反射或网格/格子 。
5. theme 控制更精细的显示点 ,如字体大小和背景颜色 。
ggplot2有许多参数 ,可根据需求自行选取 ,具体参数详情可见
基础绘图:由 ggplot(data ,aes(x ,y))+geom_ 开始 ,至少包含这三个组件 ,可以通过"+"不断的添加layers , scales , coords和facets 。
Geoms :几何对象 ,通常 ,您将使用geom_函数创建层 ,以下为常用的图形:
geom_bar() :直方图 ,条形图
geom_boxplot() :box图
geom_density() :平滑密度估计曲线
geom_dotplot() :点图
geom_point() :点图
geom_violin() :小提琴图
aes() ,颜色 、大小 、形状和其他审美属性
要向绘图添加其他变量 ,我们可以使用其他美学 ,如颜色 、形状和大小 。
按照属性定义
它们的工作方式与 x 和 y 相同 ,aes():
aes(displ , hwy , colour = class) #按照某个属性着色
aes(displ , hwy , shape = drv) #按照某个属性定义
aes(displ , hwy , size = cyl) #按照某个属性定义
整体自定义
geom_xxx(colour =自定义颜色)
geom_xxx(shape=形状编号)
geom_xxx(size =编号大小定义 0-10)
注意根据需求按照aes()还是geom进行添加属性
以下为R语言中各shape形状编号
scale控制如何将数据值转换为视觉属性的细节 。
labs()和lims() 是对标签和限制进行最常见调整 。
labs() ,主要对图形进行调整 ,注释等
labs()括号内参数:title主标题 ,subtitle副标题 ,caption右下角描述 ,tag左上角
xlab() ,x轴命名
ylab() ,y轴命名
ggtitle() ,标题
lims()
xlim() , xlim(a ,b) 限制坐标(a ,b)
ylim() , ylim(a ,b) 限制坐标(a ,b)
scale_alpha() 透明度尺度
scale_shape() , 搭配aes(shape=某个属性)使用
参数:name ,solid =T/F是否填充
scale_size() 搭配aes(size=某个属性)使用
参数:name ,range =c(0 , 10)
1.适用于发散和定性的数据
a. scale_colour_brewer() ,scale_colour_brewer(palette =" ") ,scale_colour_brewer(palette ="Green ")
palette来自RcolorBrewer包 ,所有面板:
b. scale_colour_manual()
scale_colour_manual(values=c( )) 可以 自定义颜色 ,常用的参数
values可直接定义颜色 ,但是建议使用命名向量 ,例如
values=c("8" = "red" , "4" = "blue" , "6" = "darkgreen" , "10" = "orange")
PS:注意在aes(colour=factor()) ,一定要把因素转换为factor型 ,否则无效
2.适用于连续的值 ,渐变颜色
a. scale_colour_gradient()
scale_colour_gradient (low =" " ,high=" ") ,根据值大小定义颜色 ,创建两个颜色梯度(低-高) ,
b. scale_colour_gradient2()
scale_colour_gradient2(low = " " ,mid = " " ,high = " ")创建一个发散的颜色梯度(低-中-高)
c. scale_colour_gradientn()
创建一个n色渐变 ,scale_colour_gradientn(colours =许多R语言中的颜色面板) ,
默认坐标系是笛卡尔 coord_cartesian()
一般不会修改
facet_grid() ,在网格中布置面板
facet_grid(rows = vars() ) ;cols或rows = vars(因素) ,图形按列或行分割
facet_wrap()
facet_wrap(vars( ) , ncol =n) , ncol或者nrow ,分为多少行多少列
theme_bw() ,可以覆盖所有主题 ,背景变为白色 ,我们在文章中所用的图片大都需要该背景 。
或者用 theme_classic() ,同时去除了网格线
theme() ,修改主题的组件 ,里面涉及多个参数 ,根据需求调整
常见参数:
legend.position ,图例的位置 ,包括 "left" 左 , "right" 右 , "bottom" 下 , "top" 上和"none" ,不显示
到此 ,以上就是小编对于R数据可视化手册mobi的问题就介绍到这了 ,希望介绍关于R数据可视化手册mobi的2点解答对大家有用 。
留言评论
暂无留言