[英]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
列,表示每組x
, y
值的單獨行。 例如:
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.