我在将一些数据绘制到两个单独的y尺度上时遇到了麻烦。以下是我一直在使用的一些空气质量数据的两个可视化。第一幅图描绘了每十亿分之几的每种污染物。在这个图中,co
支配y轴,没有其他污染物'变异得到了恰当的体现。在空气质量科学中,污染物co
通常以百万分之一而不是十亿分之一表示。第二张图说明了相同的no
,no2
和o3
数据,但我已将co
浓度从ppb
转换为{{1} (除以1000)。但是,虽然ppm
,no
和no2
看起来更好,但o3
中的变体并未得到恰当的表达......
是否有一种简单的方法可以使用co
来标准化y轴的比例并最好地代表每种类型的污染物?我还试图通过一些其他的例子,这些例子利用gridExtra将两个单独的图拼接在一起,每个图都保留了原始的y尺度。
生成这些数字所需的数据非常庞大(26,295次观测),因此我仍然在研究一个可重现的例子。希望在下面描述的ggplot()
代码中找到解决方案:
ggplot()
这里是plt <- ggplot(df, aes(x=date, y = value, color = pollutant)) +
geom_point() +
facet_grid(id~pollutant, labeller = label_both, switch = "y")
plt
的样子(在将head(df)
转换为ppm之前):
co
答案 0 :(得分:1)
Marius指出,在scales = "free_y"
函数中包含facet_grid()
将提供所需的输出。谢谢!
<强>解决方案:强>
plt <- ggplot(df, aes(x=date, y = value, color = pollutant)) +
geom_point() +
facet_grid(pollutant~id, scales = "free_y", labeller = label_both, switch = "y")
plt
<强>输出:强>