首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >2系列barplot ggplot2或Openair

2系列barplot ggplot2或Openair
EN

Stack Overflow用户
提问于 2018-11-08 18:03:52
回答 1查看 148关注 0票数 0

我正在尝试创建空气质量数据的条形图。我想要的是在X轴上的监测点,以及在每个监测点相对于y轴测量的2种污染物的浓度,例如在伦敦的监测点,我测量了5 ng/m3的锑(系列1)和10 ng/m3的钡(系列2)。所以y轴就是浓度(ng/m3)。

我已经搜索过了,如果第二个系列是可以通过颜色定义的定性属性,那么得到第二个系列的唯一示例似乎是有效的,所以你仍然只有一个条形,而不是两个。

此外,这些示例似乎涉及在代码中手动输入数据框,但我有很多数据,并且希望导入文件。我已经成功地从csv导入,但不知道如何在代码中引用它。

Openair似乎只使用timeProp绘制与X轴上的日期相关的堆叠条形图。

对不起,我对这样的编程非常缺乏经验,我希望我的问题有意义。感谢任何人的帮助!

EN

回答 1

Stack Overflow用户

发布于 2018-11-08 19:46:46

我认为你需要这样的东西:

代码语言:javascript
运行
复制
library(ggplot2)

data <- data.frame(cite= c('london','madrid','barcelona','london','madrid','barcelona'),
               contaminent = c('Argon','Argon','Argon','Barium','Barium','Barium'),
               Concentration= runif(6)*5)

ggplot() + geom_col(data = data,aes(x = cite,y=Concentration,fill=contaminent))

编辑:

现在假设您的数据是名称引用,并按如下方式组织:第一个列名my_data带有cites名称,然后每个列的名称是一个污染,每个cite的污染浓度值。然后,管理数据并在ggplot中使用的代码可能是:

代码语言:javascript
运行
复制
library(ggplot2)
new_data <- data.frame(cites = rep(my_data$cites,ncol(my_data)-1),
                       contaminent_type= rep(colnames(my_data)[2:ncol(my_data)],each=nrow(my_data)),
                       Concentration= as.vector(my_data[,2:ncol(my_data)]))

ggplot() + geom_col(data = new_data,aes(x = cites,y=Concentration,fill=contaminent_type))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53205409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档