簡體   English   中英

R:在ggplot2中,當線型和顏色由不同的變量設置時,如何合並它們?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM