我遇到了麻煩繪製一些數據到兩個獨立的y尺度。以下是我一直在處理的一些空氣質量數據的兩個可視化圖。第一幅圖描繪了十億分之一部分的每種污染物。在這個圖中,co
在y軸上占主導地位,其他污染物的變化都沒有被正確表示。在空氣質量科學中,污染物co
通常代表百萬分之一而不是十億分之幾。第二張圖說明了相同的no
,no2
和o3
數據,但我已將co
濃度從ppb
轉換爲ppm
(除以1000)。然而,雖然no
,no2
和o3
更好看,在co
的變化沒有被公正地代表...使用ggplot繪製不同的y軸縮放facet_grid()?
是否有使用ggplot()
正常化y軸的刻度一個簡單的方法,並最能代表每種類型的污染物?我也試圖通過其他一些使用gridExtra將兩個獨立地塊拼接在一起的示例,每個示例均保留其原始y座標。
生成這些數字所需的數據非常龐大(26,295個觀測值),所以我仍在研究一個可重複的示例。希望的解決方案可以在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)
看起來像(前轉換co
到ppm):
date id pollutant value
1 2017-06-16 10:00:00 Pohl co 236.00
2 2017-06-16 10:00:00 Pohl no 23.06
3 2017-06-16 10:00:00 Pohl no2 12.05
4 2017-06-16 10:00:00 Pohl o3 8.52
5 2017-06-16 11:00:00 Pohl co 207.00
6 2017-06-16 11:00:00 Pohl no 20.82
'facet_grid(...,鱗片= 「free_y」)'允許每個行有不同的y軸規模,但你可能不得不切換行/列小平面,如'facet_grid(pollutant_id,scales =「free_y」)' – Marius
你可以把你的解決方案作爲答案,而不是添加我回答你的問題,那麼你可以把它標記爲已解決。 – aosmith
好吧,我會那樣做的。我不確定這是否是猶太教,因爲馬呂斯在技術上是回答這個問題的人。 – spacedSparking