R语言作图——Circular bar plot(环形柱状图)
原创:黄小仙
不知不觉,距离小仙上次发文已经过去五个多月了。R语言作图系列的更新频率跟理想中的一月一次差别有点忒大了,不得不让小仙陷入深深的反思,对于时间的规划也有了一些新的感悟。
不知道大家有没有跟我一样的感受啊,举些例子:
放学、下班或者放假之后先把学习任务扔在一边,心想着,我先玩会游戏,等会玩够了再做;
网上看到一篇干货满满的文章,先点收藏,心想着,等我有空的时候再仔细看看;
听说身边的朋友利用空余时间做了什么了不起的事情,心想着,等我有空了,我也可以试一试;
…
这样的例子数不胜数了,哈哈,小仙常想的就是,一个月有四个周末,这周末先休息,等下个周末再写文章…
就这样,周末要么觉得自己前一段太辛苦了要放松一下,要么在赶紧急的deadline,反倒是重要但是不那么紧急,也没有人给设立deadline的发文大事业被耽误了,哈哈。
现在小仙就觉得,等我有空了 = 没有空, 很多时候,一些可做可不做的事情,等着等着就不做了。如果真的想做某件事情,要么立刻马上行动起来,要么就安排好具体的时间(某一天的几点到几点之间),并且把有可能发生冲突的事情也安排好。
可惜目前小仙也只是能意识到这个问题,还不能合理安排好自己的时间,现在还是在摸索阶段…
言归正传,这次给大家分享的图,是这个样子的,姑且称之为环形柱状图
Step1. 绘图数据的准备
首先还是要把你想要绘图的数据调整成R语言可以识别的格式excel中保存成csv格式。
数据的格式如下图:
Step2. 绘图数据的读取
data <- read.csv(“your file path”, header = T)
Step3.绘图所需package的调用
library(ggplot2)
Step4.绘图
先画出普通的柱状图
p1 <- ggplot(data, aes(x = 书名, y = 销量, fill = 书名)) + geom_bar(stat = "identity", width = 0.5) +theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9)) +xlab("销量排行前十") + theme(legend.position = "none") +scale_y_continuous("销量", breaks = c(0, 200000, 400000, 600000),labels = c("0", "200000", "400000", "600000"))
p1
环形柱状图
p2 <- ggplot (data, aes(x = 书名,y = 销量, fill = 书名)) + geom_bar(stat = "identity", width = 0.5) +theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9)) +xlab("销量排行前十") + theme(legend.position = "none") +scale_y_continuous("销量", breaks = c(0, 200000, 400000, 600000),labels = c("0", "200000", "400000", "600000")) +coord_polar(start = 7)
p2
排好序的环形柱状图
data$书名 <- factor(data$书名)
data$书名 <- reorder(data$书名, -data$销量)p3 <- ggplot(data, aes(x = 书名,y = 销量, fill = 书名)) + geom_bar(stat = "identity", width = 0.5) +theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9)) +xlab("销量排行前十") + theme(legend.position = "none")+scale_y_continuous("销量", breaks = c(0, 200000, 400000, 600000),labels = c("0","200000","400000","600000")) +coord_polar(start = 7)
p3
调整颜色
p4 <- ggplot(data, aes(x =书名,y = 销量,fill = 分组)) + geom_bar(stat = "identity", width = 0.5) +theme(axis.text.x = element_text(angle = 45, hjust = 0.8, vjust = 0.9))+xlab("销量排行前十") + theme(legend.position = "none")+scale_y_continuous("销量", breaks = c(0, 200000, 400000, 600000),labels = c("0","200000","400000","600000")) +coord_polar(start = 7) +scale_fill_manual(values = c(第一梯队="#E41A1C",第二梯队="#377eb8",第三梯队="gray"))
p4
注意事项
在调整颜色的时候有个小插曲,一开始用的语句是
scale_fill_manual(values = c("#E41A1C", "#377eb8", "gray"))
但是得到的图是这样的
并不是"第一梯队"给到了红色
debug的时候发现,data$分组 这一列的数据是这样的,怪不得给不到想要的颜色
把scale_fill_manual()的语句调整一下就可以啦
scale_fill_manual(values = c(第一梯队="#E41A1C",第二梯队="#377eb8",第三梯队="gray"))
R语言作图——Circular bar plot(环形柱状图)相关推荐
- R语言作图——Split violin plot
原创:黄小仙 最近小仙同学在好几篇文献里看到了这种小提琴图,暂时就肤浅地认为这是作者为了更好地比较对照组与实验组的差别,所以将同一个基因的小提琴图各画了一半,放在一起.为了跟上可视化的潮流,小仙也来尝 ...
- R语言作图——Pie chart(饼图)
原创:黄小仙 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大 ...
- R语言可视化包ggplot2绘制分组的条形图(bar plot、柱状图)实战:多变量柱状图
R语言可视化包ggplot2绘制分组的条形图(bar plot.柱状图)实战:多变量柱状图 目录
- R语言进行主成分分析(PCA)、使用prcomp函数进行主成分分析:碎石图可视化(scree plot)、R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot)
R语言进行主成分分析(PCA).使用prcomp函数进行主成分分析:碎石图可视化(scree plot).R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot) 目录
- R语言作图:数学公式
在使用R语言作图时,有时需要在图上标注诸如求和.积分.上下标等数学符号,该操作可以通过expression函数完成. expression(...) 括号中输入数学表达式,配合plot.text.ti ...
- R语言作图不显示中文解决办法,如何使用中文字体
最近我们被客户要求撰写关于R语言作图的研究报告,包括一些图形和统计输出. 预期 R语言绘图中的中文默认字体宋体,希望用其他字体绘图,保存成PDF格式不能识别中文. 实际 使用"雅黑字体&qu ...
- R语言ggplot2可视化创建堆叠的柱状图(stacked barplot)并且每个堆叠的柱状图都缩放到总和为100%实战:最后所有的堆叠的柱子都一样高、Y轴以百分比的形式来显示
R语言ggplot2可视化创建堆叠的柱状图(stacked barplot)并且每个堆叠的柱状图都缩放到总和为100%实战:最后所有的堆叠的柱子都一样高.Y轴以百分比的形式来显示 目录
- R语言作图——violin plot(小提琴图)
原创 黄小仙 即便小仙同学决定学习R语言来提升自己作图的"逼格"的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?).仔细想了想,貌似又找到了两个学习R的理由. 一是 ...
- R语言作图——Dot plot(点图)
原创:黄小仙 2020开年不凡, 生活果然充满了惊吓,可仍然要期待惊喜呀.今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的 ...
最新文章
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
- java reflectionutils_ReflectionUtils工具类-装载
- 【转】c# winform 打包部署 自定义界面 或设置开机启动
- 2017-2018-2点集拓扑
- 正则表达式shell
- 中石油训练赛 - Swapping Places(字典序最小的拓扑排序)
- 缺失值的处理——R语言
- 认识计算机ppt课件游戏,《认识计算机》PPT课件
- 详解 Android 的 Activity 组件
- 82c55单片机c语言,AT89S51单片机与82C55的接口设计编程
- Linux合上笔记本不进入休眠模式
- asp不能做到的是什么
- 【图像处理】基于matlab DWT图像处理【含Matlab源码 198期】
- c# xaml语言教程,Xamarin XAML语言教程XAML文件结构与解析XAML
- RT-Thread定时器
- 网易MuMu模拟器安装及配置
- android联想搜索不到wifi,联想笔记本搜不到无线网解决办法
- Elasticsearch怎样实现自定义分词
- 使用Fluxion搭建钓鱼热点破解WiFi密码
- html游戏让目标人物移动,用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动...
热门文章
- php 屏蔽curl访问,php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件...
- 【调剂】东南大学2022年软件学院(苏州)硕士生调剂信息
- 图的割点 桥 双连通(byvoid)
- mysql和shell学习日报
- Unity3D–Texture图片空间和内存占用分析
- 使用SpringCloud构建简单的服务者和消费者
- 2D横版跳跃游戏第一节
- Xshell7,xftp7连接liunx系统
- vue使用svg画拓扑图(关系图) 拖拽 缩放
- NET开源项目链接(转载)