![](/img/trans.png)
[英]How to combine linetype and color in legend when they are set by the same variables
[英]R: In ggplot2, how do you combine linetype and color when they're set by different variables?
我有一個折線圖,其中線型由一個變量(在此示例中為SampleType)設置,而顏色由另一個變量(Sample)設置。 對於這些數據,如果圖例將這兩個變量都組合成一個圖例條目,而不是將一個顏色條目和一個線型條目組合在一起,我會很喜歡。 這是我的示例數據: EIC數據
這是到目前為止我想出的代碼和圖:
EIC <- read.csv("EIC data.csv")
ggplot(EIC, aes(x = Time, y = Counts, color = Sample, linetype = SampleType)) +
geom_line()
我真正想要的是圖例僅顯示“樣本”,然后顯示每個樣本的適當顏色和線型,因此對於標准而言將是可靠的,對於臨床樣本將是虛線,並且每個樣本將是不同的顏色。 我喜歡ggplot2,所以我更喜歡繼續使用ggplot2來做到這一點。 我試過像這樣將scale_linetype_manual添加到代碼中:
scale_linetype_manual(values = c(rep("solid", 3), rep("dashed", 2)))
但這並沒有改變圖例或圖形。 我還嘗試根據樣品是臨床樣品還是標准樣品,在每行中用“實心”或“虛線”創建一個新列,然后使用scale_linetype_identity(),但是盡管它確實適用於圖表,但並非如此更改圖例,因為我仍將顏色映射到一個變量,將線型映射到第二個變量。
我正在使用R版本3.0.2和ggplot2_1.0.0。
預先感謝您的任何想法!
使用變量Sample
兩個- color=
和linetype=
,然后用scale_linetype_manual()
得到想要的線型。
ggplot(EIC, aes(x = Time, y = Counts, color = Sample, linetype = Sample)) +
geom_line()+scale_linetype_manual(values = c(rep("solid", 3), rep("dashed", 2)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.