原创:黄小仙

不知不觉,距离小仙上次发文已经过去五个多月了。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(环形柱状图)相关推荐

  1. R语言作图——Split violin plot

    原创:黄小仙 最近小仙同学在好几篇文献里看到了这种小提琴图,暂时就肤浅地认为这是作者为了更好地比较对照组与实验组的差别,所以将同一个基因的小提琴图各画了一半,放在一起.为了跟上可视化的潮流,小仙也来尝 ...

  2. R语言作图——Pie chart(饼图)

    原创:黄小仙 今天要给大家介绍的Pie chart(饼图),本来是不打算写这个的,因为用Excel画饼图实在是太方便了.本着能少动一下是一下的懒人原则,是不打算用R画的,再说,本小仙不是掌握了R作图大 ...

  3. R语言可视化包ggplot2绘制分组的条形图(bar plot、柱状图)实战:多变量柱状图

    R语言可视化包ggplot2绘制分组的条形图(bar plot.柱状图)实战:多变量柱状图 目录

  4. R语言进行主成分分析(PCA)、使用prcomp函数进行主成分分析:碎石图可视化(scree plot)、R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot)

    R语言进行主成分分析(PCA).使用prcomp函数进行主成分分析:碎石图可视化(scree plot).R通过条形图(bar plot)来可视化主成分分析的碎石图(scree plot) 目录

  5. R语言作图:数学公式

    在使用R语言作图时,有时需要在图上标注诸如求和.积分.上下标等数学符号,该操作可以通过expression函数完成. expression(...) 括号中输入数学表达式,配合plot.text.ti ...

  6. R语言作图不显示中文解决办法,如何使用中文字体

    最近我们被客户要求撰写关于R语言作图的研究报告,包括一些图形和统计输出. 预期 R语言绘图中的中文默认字体宋体,希望用其他字体绘图,保存成PDF格式不能识别中文. 实际 使用"雅黑字体&qu ...

  7. R语言ggplot2可视化创建堆叠的柱状图(stacked barplot)并且每个堆叠的柱状图都缩放到总和为100%实战:最后所有的堆叠的柱子都一样高、Y轴以百分比的形式来显示

    R语言ggplot2可视化创建堆叠的柱状图(stacked barplot)并且每个堆叠的柱状图都缩放到总和为100%实战:最后所有的堆叠的柱子都一样高.Y轴以百分比的形式来显示 目录

  8. R语言作图——violin plot(小提琴图)

    原创 黄小仙 即便小仙同学决定学习R语言来提升自己作图的"逼格"的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?).仔细想了想,貌似又找到了两个学习R的理由. 一是 ...

  9. R语言作图——Dot plot(点图)

    原创:黄小仙 2020开年不凡, 生活果然充满了惊吓,可仍然要期待惊喜呀.今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的 ...

最新文章

  1. .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
  2. java reflectionutils_ReflectionUtils工具类-装载
  3. 【转】c# winform 打包部署 自定义界面 或设置开机启动
  4. 2017-2018-2点集拓扑
  5. 正则表达式shell
  6. 中石油训练赛 - Swapping Places(字典序最小的拓扑排序)
  7. 缺失值的处理——R语言
  8. 认识计算机ppt课件游戏,《认识计算机》PPT课件
  9. 详解 Android 的 Activity 组件
  10. 82c55单片机c语言,AT89S51单片机与82C55的接口设计编程
  11. Linux合上笔记本不进入休眠模式
  12. asp不能做到的是什么
  13. 【图像处理】基于matlab DWT图像处理【含Matlab源码 198期】
  14. c# xaml语言教程,Xamarin XAML语言教程XAML文件结构与解析XAML
  15. RT-Thread定时器
  16. 网易MuMu模拟器安装及配置
  17. android联想搜索不到wifi,联想笔记本搜不到无线网解决办法
  18. Elasticsearch怎样实现自定义分词
  19. 使用Fluxion搭建钓鱼热点破解WiFi密码
  20. html游戏让目标人物移动,用仿ActionScript的语法来编写html5——第三篇,鼠标事件与游戏人物移动...

热门文章

  1. php 屏蔽curl访问,php curl指定ip,php curl请求忽略本地host文件,php curl请求跳过本地host文件...
  2. 【调剂】东南大学2022年软件学院(苏州)硕士生调剂信息
  3. 图的割点 桥 双连通(byvoid)
  4. mysql和shell学习日报
  5. Unity3D–Texture图片空间和内存占用分析
  6. 使用SpringCloud构建简单的服务者和消费者
  7. 2D横版跳跃游戏第一节
  8. Xshell7,xftp7连接liunx系统
  9. vue使用svg画拓扑图(关系图) 拖拽 缩放
  10. NET开源项目链接(转载)