在R中的单个图上绘制两个变量的条形图和第三个变量的线图

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中的单个图上绘制两个变量的条形图和第三个变量的线图相关的知识,希望对你有一定的参考价值。

我试图在R中使用ggplot2包绘制条形图(使用position ='identity', stat = 'identity')和相同图表上的线图。

我的数据包括3个主要关注的值

1-全局辐照度2-漫射辐照度3-温度

为了制作条形图,我在一个熔融数据帧中合并了全局和漫反射辐照度的值。虽然我在初始数据框中保持温度值是分开的,因为我不希望它的条形图与辐照度值。

现在问题是我无法从两个不同的数据帧制作ggplot。我使用这种方法得到的错误是

错误:ggplot2不知道如何处理class uneval的数据

即使两个数据集的类现在都是数据帧。

另一方面,我对如何在单个数据帧中包含我的值感到困惑,我可以将它们一起绘制为条形图和线条图。

我的数据代码是:

library(ggplot2)
library(officer)
library(reshape2)

data <- "U://30-Power & Water//25 Renewables//WORK//Data//PVPlanner//PVPlanner.csv"

data <- read.table(data,skip = 36, header = T,  sep=";")
data <- data.frame(data[1:12,])
data$Month <- factor(data$Month,levels = c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"))

而我的数据看起来像:

Month GHId GHIm Diffd Diffm  T24
1    Jan 3.27  101  0.92    29 13.3
2    Feb 3.92  110  1.23    34 13.3
3    Mar 5.30  164  1.58    49 13.9
4    Apr 6.18  185  1.89    57 14.9
5    May 6.93  215  2.00    62 16.4
6    Jun 7.53  226  1.80    54 18.4
7    Jul 7.42  230  1.87    58 21.1
8    Aug 7.06  219  1.58    49 22.0
9    Sep 5.97  179  1.39    42 21.3
10   Oct 4.50  140  1.26    39 18.7
11   Nov 3.53  106  0.99    30 15.9
12   Dec 2.90   90  0.86    27 13.3

从我的数据中生成熔化数据帧的代码是:

dfd <- melt(data[,c('Month','GHId','Diffd')],id.vars = 1)

我的ggplot的代码是:

ggplot() + geom_bar(dfd,aes(x = Month,y = value,fill = variable),stat = "identity",position = "identity")+geom_line(data,aes(Month, data[,6]), col=red)

我想制作这种情节:enter image description here

我期待获得有关我可以采用哪种方法来处理单个数据帧或从两个不同数据帧调用值的方法的指导。

提前致谢!问候

答案

好的..我能够发现我的错误,如果有来自两个数据帧的值,我们需要正确提到我们的代码中的数据,例如data = dfd中的geom

要么

我们需要使用函数文档中提到的代码的精确排列进行编码!

以上是关于在R中的单个图上绘制两个变量的条形图和第三个变量的线图的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用两个分类变量创建双向表(Two Way Table两个分类变量的频率表)实战: 矩阵的双向表dataframe的双向表条形图和马赛克图来可视化频率表

R语言绘图——条形图/柱状图

Pandas 在单个条形图上绘制多列 [重复]

R Shiny ggplot 条形图和折线图,具有动态变量选择和 y 轴为百分比

从两个不同的图表创建组合的单个条形图或直方图,并在第 1 年和第 2 年中并排显示条形图

R 具有两个因子变量的堆积百分比条形图 - 如何在图中标记百分比,而不计算 NA?