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

时间:2018-03-05 11:40:32

标签: r dataframe plot ggplot2 bar-chart

我试图在R中使用ggplot2包绘制一个条形图(带有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")) )和相同图表上的线图。

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

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

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

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

  

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

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

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

我的数据代码是:

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() + geom_bar(dfd,aes(x = Month,y = value,fill = variable),stat = "identity",position = "identity")+geom_line(data,aes(Month, data[,6]), col=red)

我的ggplot的代码是:

{{1}}

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

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

提前致谢! 此致

1 个答案:

答案 0 :(得分:0)

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

OR

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