私は適切に色付けしたい最小および最大温度データを持っています。gplot2でRの2行に1つのカラースケールを使用する
データは、これらの2行は別々の色のスペクトルを取得するが、私は両方のラインに使用したのと同じスペクトルをしたい、この
MESS_DATUM LUFTTEMPERATUR_MAXIMUM LUFTTEMPERATUR_MINIMUM
20050719 22.1 16.5
20050720 22.8 12.8
20050721 22.6 12.0
20050722 19.1 13.8
20050723 21.9 12.8
20050724 24.8 11.4
20050725 25.8 16.9
20050726 24.7 16.3
20050727 31.6 17.0
20050728 34.5 19.2
20050729 27.3 18.2
20050730 25.5 13.4
20050731 24.5 11.5
20050801 24.4 12.5
20050802 22.1 14.6
20050803 24.9 15.2
20050804 23.4 11.3
20050805 23.4 9.1
20050806 21.0 12.0
20050807 19.2 9.8
20050808 19.2 10.8
20050809 21.0 11.2
20050810 20.2 10.2
のように見えます。これは私がそのために使ったコードです。
p2<-ggplot(dataByYear) +
geom_line(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MINIMUM, colour = LUFTTEMPERATUR_MINIMUM)) +
geom_smooth(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MINIMUM), color = "blue",size = 0.5) +
geom_line(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MAXIMUM, colour = LUFTTEMPERATUR_MINIMUM)) +
geom_smooth(aes(x = MESS_DATUM,y = LUFTTEMPERATUR_MAXIMUM), color = "red",size = 1) +
scale_colour_gradient2(low = "blue", mid = "green" , high = "red", midpoint = 10) +
scale_y_continuous(limits = c(-10,40), breaks = seq(-10,40,5)) +
ggtitle ("Daily average temperature") +
xlab("Date") + ylab ("Average Temperature (ºC)")
あなたは色が一定の温度のために固有のものではありません見ることができるようにそれは、この
のように見えます。下の行は赤で、15℃より大きい値が表示されますが、上の行と同じ温度では緑色のままです。
両方の行に均等に使用されるカラースケールが必要です。 誰かがそれをする方法を知っていますか?
ありがとうございます。
これはちょうど野生の推測ですが、おそらく問題は、2つのgeom_lineコールを使用していることです。 'dataByYear'の構造は何ですか?データの形状を変更すると、1つのgeom_line呼び出しを使用できるようになります。 – zelite
おそらく、私は2本の線が独立したデータであるため、可能であれば2本の線を維持したいと考えています。 –
データをどのように再構築する必要があるか説明できますか? –