R语言数据可视化绘制Circular bar plot实现环形柱状图

目录
  • Step1. 绘图数据的准备
  • Step2. 绘图数据的读取
  • Step3.绘图所需package的调用
  • Step4.绘图
  • 环形柱状图
  • 排好序的环形柱状图
  • 调整颜色
  • 注意事项

不知不觉,距离小仙上次发文已经过去五个多月了。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语言绘制Circular bar plot环形柱状图的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言作图之density plot(密度图)的制作步骤

    上次分享了小提琴曲线(violin plot)的作图方法,今天小仙同学给大家介绍一下如何用R画出漂亮的密度图(density plot). Step1. 绘图数据的准备 首先还是要把你想要绘图的数据调整成R语言可以识别的格式,把excel保存成csv格式. 数据的格式如下图:一列表示一种变量,第一行是列名 Step2. 绘图数据的读取 data<-read.csv("your file path", header = T) #注释:header=T表示数据中的第一行是列名,如果没

  • R语言绘制Vonoroi图

    deldir包绘制Voronoi图 #install.packages("deldir") library(deldir) # data set.seed(1) x <- runif(60) y <- runif(60) # Calculate Voronoi Tesselation and tiles tesselation <- deldir(x, y) tiles <- tile.list(tesselation) plot(tiles, pch = 19

  • 利用R语言绘制时间序列图的操作

    数据 GDP.csv文件,存储1879~2019年河南省GDP数据 绘图 # 读取数据, 首先将excel 格式的转化为 csv 格式 再读取 h <- read.table(file = "C:/Users/PYY/Desktop/GDP.csv",sep = ",",header = T) # 转化为时间序列数据 GDP=ts(h$GDP,start = 1978,frequency = 1) # 绘图 plot(GDP) 补充:ts函数 ts() 函数:

  • R语言作图之直方图histogram绘制过程详解

    先给大家介绍下R语言入门:直方图histogram的绘制,具体内容如下所示: 直方图和条形图最大的不同则是直方图可以用于显示出一个数据的频数,具有统计的作用,我们下面来看一一看直方图在R语言当中是如何绘制的吧! 首先创建一系列的数据: h<-c(4,6,3,46,3,5,7,8,3,4,3,4,5) 创建完之后将这个数据纳入到直方图histogram的绘制函数hist()当中,如下所示: hist(h,xlab = "number'scale",ylab="Right&

  • R语言利用plot()函数画图的基本用法

    plot()函数在R语言画图中位置十分重要,现在就对其具体用法做一个总结. 基本用法: plot(x=x轴数据,y=y轴数据,main="标题",sub="子标题",type="线型",xlab="x轴名称",ylab="y轴名称",xlim = c(x轴范围,x轴范围),ylim = c(y轴范围,y轴范围)) 示例代码为: plot(c(1:6),c(1:6),main="test"

  • R语言数据可视化绘制Circular bar plot实现环形柱状图

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的调用 Step4.绘图 环形柱状图 排好序的环形柱状图 调整颜色 注意事项 不知不觉,距离小仙上次发文已经过去五个多月了.R语言作图系列的更新频率跟理想中的一月一次差别有点忒大了,不得不让小仙陷入深深的反思,对于时间的规划也有了一些新的感悟.不知道大家有没有跟我一样的感受啊,举些例子:放学.下班或者放假之后先把学习任务扔在一边,心想着,我先玩会游戏,等会玩够了再做:网上看到一篇干货满满的文章,先

  • R语言数据可视化ggplot绘制置信区间与分组绘图技巧

    目录 1. 单组情况 1)构造数据集 2)绘制置信区间 2. 多组情况 方法1 1)构造数据集 2)绘制置信区间 方法2 1)构造数据集 2)绘制置信区间 3)美化 1. 单组情况 1)构造数据集 x <- 1:10 y <- x^2 ci_l <- x^2 - 0.5 * x ci_r <- x^2 + 0.5 * x dat_plot <- data.frame(x, y, ci_l, ci_r) 数据集长下面这样: x y ci_l ci_r 1 1 1 0.5 1.5

  • R语言数据可视化ggplot添加左右y轴绘制天猫双十一销售图

    目录 构造数据集 绘制散点 修改两坐标轴信息 本文是以天猫双十一销量与增长率为例,原始的数据可以参考上一篇文章:用 ggplot 重绘天猫双十一销售额图,这里不再作过多的介绍. 同时整个的天猫双十一的销售额数据分析可以关注:天猫双十一"数据造假"是真的吗? 老规矩,先上最终成果(两张图只是颜色的差别): 上图左边 y 轴表示增长率的刻度,右边 y 轴表示销售额的数据,我们将两者在同一张图上进行展现.其实将两个统计图在同一个坐标系中呈现不算是这个绘图的难点,其真正的难点在与刻度的变换以及

  • R语言数据可视化绘图Dot plot点图画法示例

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3.绘图所需package的安装.调用 Step4.绘图 添加平均值 添加误差线 今天要给大家介绍的是点图(Dot plot),点图展示的数据比较简单,但胜在好看啊. 作图数据如下: Step1. 绘图数据的准备 首先要把你想要绘图的数据调整成R语言可以识别的格式,建议大家在excel中保存成csv格式. Step2. 绘图数据的读取 data<-read.csv("your file path", hea

  • R语言数据可视化学习之图形参数修改详解

    1.图形参数的修改par()函数 我们可以通过使用par()函数来修改图形的参数,其调用格式为par(optionname=name, optionname=name,-).当par()不加参数时,返回当前图形参数设置的列表:par(no.readonly=T)将生成一个可以修改当前参数设置的列表.注意以这种方式修改参数设置,除非参数再次被修改,否则一直执行此参数设置. 例如现在想画出mtcars数据集中mpg的折线图,并用虚线代替实线,并将两幅图排列在同一幅图里,代码及图形如下: > opar

  • R语言数据可视化分析天猫双十一销售额增长率

    目录 最近和小伙伴一起探索了一下双十一后闹得沸沸扬扬的一篇文章:"淘宝2009-2018年历年双十一销售额数据造假".原文作者使用初中阶段学过的抛物线,就将每年的销售额增长趋势拟合得非常完美. (如果大家想学习如何画出上述的图像,可参见前面一篇博客:用 ggplot 重绘天猫双十一销售额图) 同时在知乎上,这个问题也成功上了当时的热搜榜,各路大神云集,也发表了很多很有意思的观点: 如何看待有人质疑淘宝双十一数据造假,并在4月份成功预测今年销售额为2680亿? 看了很多大神的文章后,自己

  • R语言数据可视化绘图Slope chart坡度图画法

    目录 Step1. 绘图数据的准备 Step2. 绘图数据的读取 Step3. 绘图所需package的安装.调用 Step4. 绘图 今天小仙给大家分享一下Slope chart(坡度图)的画法,我在paper中看到的图是这样的 这个图的意思大概是Nasal Tissue比Brochial Tissue的ACE2表达量高(ACE2就是新冠病毒的受体啦) .为了复刻这张图,小仙捏造了一组差不多的数据,竟然感觉比原图好看! 废话不多说,进入正题. Step1. 绘图数据的准备 首先要把你想要绘图的

  • R语言数据可视化包ggplot2画图之散点图的基本画法

    目录 前言 下面以一个简单的例子引入: 首先介绍第一类常用的图像类型:散点图 给原始数据加上分类标签: 按z列分类以不同的颜色在图中画出散点图: 按z列分类以不同的形状在图中画出散点图: 多面化(将ABC三类分开展示): 自定义颜色: 添加拟合曲线: 更换主题 : 总结 前言 ggplot2的功能很强大,并因为其出色的画图能力而闻名,下面来介绍一下它的基本画图功能,本期介绍散点图的基本画法. 在ggplot2里,所有图片由6个基本要素组成: 1. 数据(Data) 2. 层次(Layers),包

  • R语言数据可视化tidyr与ggplot2多个变量分层展示举例实现

    目录 每个变量的密度分布情况 思考 tidyr ggplot2进行绘图 在R语言普通的绘图中,使用par()参数可以在一张图上实现不同变量的子图.如果我们想要用ggplot2实现,则需要整理我们的原始数据,这通常是非常麻烦的,这时就需要用到我们的tidyr来帮助我们绘图. 可能说上面一段话不是很容易理解,下面我们来举个栗子. 每个变量的密度分布情况 y1 <- rnorm(20) y2 <- rnorm(20) dat <- data.frame(y1, y2) 现有的数据集: y1 y

  • R语言数据可视化绘图bar chart条形图实现示例

    时光飞逝,岁月如梭,转眼又是一年过去了,本小仙怎么还是一事无成呢! 转念一想,这种事也不是一次两次了,再多一个又何妨,哈哈! 回归正题,今天就给大家介绍下直方图(histogram)的“好兄弟”——条形图(bar chart).假设小仙同学现在要帮一家书店用图形展示2018年最受大家欢迎的书目,数据如下图. 条形图画出来还挺好看,可是跟小仙想象中的可不一样.明明我的数据是按照销量从高到低排列的,为什么画出来却是按照字母顺序排列的呢? 使用了对因子进行排序的函数reorder()之后,就变成了下图

随机推荐