柱状堆积图的数据格式,原本全是2000-2019年的数据,为了一次性截到图删了一些,但是基本的格式是这样的,中间那行作物要这么竖着放

先画一下基本的图

setwd("C:/Users/Nengneng/Desktop")
library(ggplot2)
library(cowplot)
data <- read.csv("yield2000-2019.csv",header = T)
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")

# 加geom_col(width = 1) 柱状图变成直方图,去掉主子之间的间隔
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)

# 去掉灰色背景网格
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())

# 加一条y=6的水平线,要加垂直线的话改成xintercept就好啦
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")

# 改变柱子的颜色及透明度
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))

# 改纵坐标标签,横坐标如果改的话,加在labs()里面就行
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")

# 去掉图例的标题
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL))

#把图例放成一横行,放在图的上面
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL,nrow  = 1,byrow = F))+theme(legend.position = 'top')

# 调整图例的大小,以及图例的位置。(x,y)这个位置是相对于整个画面来说的,(0,0)就是左下角原点的位置,(1,0)是右下角
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL,nrow  = 1,byrow = F))+theme(legend.position = 'top')+theme(legend.key.size = unit(8, "pt"),legend.position = c(0.29, 0.99))

# 改变图例的字体大小,“bold”是加粗的意思
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL,nrow  = 1,byrow = F))+theme(legend.position = 'top')+theme(legend.key.size = unit(8, "pt"),legend.position = c(0.29, 0.99))+theme(legend.text = element_text( size =8, face="bold"))

# 去掉图和x轴之间的间距:scale_y_continuous(expand=c(0,0))如果要去掉和Y轴的间距,scale_x_continuous(expand=c(0,0))去掉间距之后原点处的y轴显示0,想去掉这个的话,scale_y_continuous(breaks=c(2, 4,6)),breaks可以改变y轴的显示
ggplot(data=data, aes(x=Year, y=Yiled, fill=Zuowu)) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL,nrow  = 1,byrow = F))+theme(legend.position = 'top')+theme(legend.key.size = unit(8, "pt"),legend.position = c(0.29, 0.99))+theme(legend.text = element_text( size =8, face="bold"))+scale_y_continuous(breaks=c(2, 4,6),expand=c(0,0))

但是想换一下堆积的顺序,把Other放在最下面,在第一行的fill()函数里面设置

ggplot(data=data, aes(x=Year, y=Yiled,                      fill=factor(Zuowu,levels=c("Maize","Wheat","Rice","Other")))) + geom_bar(stat="identity")+geom_col(width = 1)+theme(panel.background = element_blank(),axis.line = element_line())+geom_hline(yintercept = 6,size =1,lty="dashed",color="red")+scale_fill_manual(values=alpha(c('#87CEFF','#6CA6CD','#4A708B',"#9FB6CD"), 0.9))+labs(y="Yield (million tons)")+guides(fill=guide_legend(title=NULL,nrow  = 1,byrow = F))+theme(legend.position = 'top')+theme(legend.key.size = unit(8, "pt"),legend.position = c(0.29, 0.99))+theme(legend.text = element_text( size =8, face="bold"))+scale_y_continuous(breaks=c(2, 4,6),expand=c(0,0))

【R】ggplot2_堆积图相关推荐

  1. R语言数据可视化之折线图、堆积图、堆积面积图

    折线图简介 折线图通常用来对两个连续变量的依存关系进行可视化,其中横轴很多时候是时间轴. 但横轴也不一定是连续型变量,可以是有序的离散型变量. 绘制基本折线图 本例选用如下测试数据集: 绘制方法是首先 ...

  2. R绘制面积图(area plot)

    R绘制面积图(area plot) 面积图 面积图与折线图.柱形图.散点图一样,都是属于常用的商务图表.面积图是一种随时间变化而改变范围的图表,主要强调数量与时间的关系.例如,用某企业每个月销售额绘制 ...

  3. 【Excel】绘图案例_常见复合图:簇状图+堆积图+折线图

    [Excel]绘图案例_常见复合图:簇状图+堆积图+折线图 前言 最近有朋友让我帮忙用excel画图,老实说我很讨厌用excel画图,点来点去,复杂一些还不能复用,非常繁琐.当然,入门也很简单.需求时 ...

  4. R实战 | 森林图绘制

    R实战 | 森林图绘制 回答一下2022年VIP群里会员的问题.简单的森林图绘制. Multivariate logistic regression determined independent ca ...

  5. 一张RSCU堆积图的改动

    根据B站小明的数据分析笔记本的rscu堆积图代码改的.侵删 以下为原视频链接 R语言ggplot2画堆积柱形图展示密码子偏向性的RSCU值_哔哩哔哩_bilibili 以下为改动之后的图片效果.颜色和 ...

  6. 从零开始学matplotlib画图(三): 堆积图

    堆积图常用于综合展示不同分类的指标趋势以及它们的总和的趋势.比如说,我们想看一下过去二十年来中国人口总量的变化趋势,同时,我们又想看一下男.女性人口各自的变化趋势,甚至我们还想看一下它们各自占比的变化 ...

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

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

  8. R语言配对图可视化:配对图(pair plot)可视化(根据分类变量的值为散点图上的数据点添加颜色和形状、Add color and shape by variables)

    R语言配对图可视化:配对图(pair plot)可视化(根据分类变量的值为散点图上的数据点添加颜色和形状.Add color and shape by variables) 目录

  9. R语言配对图可视化:pivot_longer函数将宽格式的数据重塑为长格式并进行数据全连接和左连接(left join)、配对图可视化(根据分类变量的值为散点图上的数据点添加颜色)

    R语言配对图可视化:pivot_longer函数将宽格式的数据重塑为长格式并进行数据全连接和左连接(left join).配对图可视化(根据分类变量的值为散点图上的数据点添加颜色,Add color ...

  10. R语言sunburst图(sunburst plot)可视化实战:使用sunburstR包和ggplot2包进行可视化

    R语言sunburst图(sunburst plot)可视化实战:使用sunburstR包和ggplot2包进行可视化 目录 R语言sunburst图

最新文章

  1. ThinkPHP入门(二)
  2. pdb+ipdb 调试 Python代码
  3. maven添加oracle jdbc依赖
  4. iframe引用页面中的js操作父窗口标签
  5. iview在vue-cli3如何按需加载
  6. 【CentOS Linux 7】实验1【VMware安装、新建虚拟机;63个基础命令运行结果图】
  7. centos7安装详细图解_5G基站工程安装详细图解(纯干货)
  8. html5 背景拼贴,AI创建漂亮的无缝拼贴图案背景样式
  9. 浏览器打开位置服务器,如何启动http服务器,然后打开web浏览器?
  10. realloc 用方法
  11. java 单例 读写锁_终极锁实战:单JVM锁+分布式锁
  12. OneNote怎样显示或者隐藏网格线
  13. Lesson5 一阶自治微分方程
  14. SpreadJS 在 Angular2 中支持哪些事件?
  15. nosql数据库之Redis概念及基本操作
  16. 转:.Net 中AxShockwaveFlash的解析
  17. 小白linux学习[1]__虚拟机NAT方式共享电信拨号上网
  18. 基于AM5728的OpenCL例程开发分享
  19. 华为eNSP 路由器单臂路由配置
  20. 【Python】字典遍历(dict遍历)

热门文章

  1. 用Python能下载抖音无水印视频?免费教程来了!
  2. git和SVN的区别
  3. Android addr2line 工具使用
  4. 小学生计算机课程设计,小学版3D建模课程设计
  5. 输入输出工具技术(ITTO)要背吗?——软考高项笔记8
  6. 车联网之:操作系统QNX
  7. 安卓系统的电视机_再送出一款智能电视、电视盒子、安卓手机通用TV直播软件...
  8. 手术麻醉管理系统方案/案列/小程序/网站
  9. 【初学者必知必会】【电子技术:数电 模电 单片机】【基础概念和小知识点】详解
  10. C++借助Eigen库实现矩阵开方(开根号)运算