r - 带有 2 个轴的 BarPlot 上的 R 叠加线图
问题描述
我有以下代码,它只产生一个没有线条的条形图。如何调整此代码以获取辅助线?
library(ggplot2)
p1 <- ggplot()
p1 <- p1 + geom_bar(data=subset(df, Year==2006), aes(x=factor(State),y=Rate), stat = "identity")
p1 <- p1 + xlab("State") + ylab("Rate") + theme(axis.text.x = element_text(angle = 60, hjust = 1))
p1 <- p1 + geom_line(data = subset(df, Year==2006), aes(x=factor(State),y=Total.Poverty/1000),colour = "blue")
p1 <- p1 + scale_y_continuous(sec.axis = sec_axis(~.*1000, name = "Total Poverty"))
print(p1)
我已经查看了条形图和线图的 ggplot2 叠加层,但我仍然无法弄清楚为什么该图没有显示线。
解决方案
你应该提供一个最小的数据集来重现你的问题,所以我无法测试我的解决方案,但我认为这是因为因子尺度上的一条线不起作用,所以你应该使用:
p1 <- p1 + geom_line(data = subset(df, Year == 2006),
aes(x = State, y = Total.Poverty / 1000), colour = "blue")
反而。
推荐阅读
- sql - 如何更新一个查询中的两列,一列来自另一列?
- css - Safari“位置:固定”在滚动上重叠
- jsf - 配置 IntelliJ 以在 JSF 标记的未注册属性上显示警告/错误
- javascript - 如何让 acornjs 正确地检查私有类字段和方法的样式?
- intellij-idea - JetBrains IDE 部署问题
- python-3.x - 如何添加在 kivy/python 的 kv 文件中定义的小部件?
- r - 如何创建多个变量的图分布?
- python - Python suds通过soap请求导入pandas获取数据 - 定义列和行
- python - 理解带有嵌套“IF”语句的“FOR”循环的结果
- microsoft-teams - 如何通过 API 访问 Microsoft 团队中的录制会议