簡體   English   中英

使用ggplot2構建折線圖

[英]Constructing a line graph using ggplot2

我需要繪制三條線(在一張圖上),每條線代表一個實驗室團隊的數據(兩個變量/團隊)。 理想情況下,圖形應該看起來美觀(因此使用ggplot2!),但形式與下圖所示的線圖相似。 我不明白如何使用gggplot2庫將多行繪制到單個圖形上。 我目前對ggplot2庫的知識/技能很低,但我在下面列出了我的初出茅廬的努力。

http://www.harding.edu/fmccown/r/#linecharts

編輯:每行由兩個向量構成,如下所示:

temp = c(4, 25, 50, 85, 100) 
enzyme_activity = c(0.543, 0.788, 0.990, 0.898, 0.882) 

在x軸上使用temp變量,每行使用不同的顏色,以便區分它們。

EDIT2:

amyA = c(0.091, 0.147, 0.202, 0.236, 0.074)
temp = c(4, 23, 37, 65, 100)
df = data.frame(temp, amyA)

ggplot(df, aes(x = temp, y = amyA, col = 'blue')) + geom_line()

第二次編輯中的代碼不會生成藍線,並且圖例完全錯誤。 如果我用不同的數據重復兩個ggplot調用,則只繪制一行。

關鍵是在繪圖之前組織數據,以便在數據框中有一個factor列,表示每組xy值的單獨行。 例如:

set.seed(1)
df1 <- data.frame(e1 = sort(runif(5, 0.05, 0.25)),
                  e2 = sort(runif(5, 0.05, 0.25)),
                  e3 = sort(runif(5, 0.05, 0.25)),
                  t1 = sort(runif(5, 1, 100)),
                  t2 = sort(runif(5, 1, 100)),
                  t3 = sort(runif(5, 1, 100))
                  )
### reshape this to give a column indicating group
df2 <- with(df1,
        as.data.frame(cbind( c(t1, t2, t3),
                            c(e1, e2, e3),
                            rep(seq(3), each=5) )
                      ))
colnames(df2) <- c("temp","activity","team")
df2$team <- as.factor(df2$team)

然后

library(ggplot2)
ggplot(df2, aes(x=temp, y=activity, col=team)) + geom_line()

贈送: 在此輸入圖像描述

我會這樣做:

library(ggplot2)
ggplot(mtcars, aes(x = wt, y = mpg, color = as.factor(cyl))) + geom_line()

在此輸入圖像描述

如果您需要更具體的建議,我建議您擴展您的示例,並包含一些示例數據,並提供有關可視化應該告訴的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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