使用 ggplot2 绘制列为水平变量的单行
Use ggplot2 to plot single row where columns are horizontal variable
我的数据如下:
Name Year1 Year2 Year3 Year4 Year5
Alpha 15 17 19 21 20
Beta 10 NA NA NA NA
Charlie 2 4 3 6 7
Delta 6 2 9 10 11
我的主要问题是如何使用 ggplot2 绘制 Alpha
作为连接的散点图?我设想垂直轴的范围从 0 到 25。水平轴是 Year1
、Year2
、...、Year5
.
我的第二个问题是如何将 Beta
、Charlie
和 Delta
添加为它们自己的连接线 - 以及如何使它们具有自己的颜色并具有图例表示哪个是哪个?
在我的真实数据集中(这只是一个玩具示例),我有超过一千行,所以如果可能的话我可能还想以某种方式对行进行分组或者做一些事情来更好地帮助可视化。
首先按照之前评论中所述融化您的数据。
之后,您想用 geom_point() 分散您的观察结果,并通过 geom_line() 连接它们,同时对名称进行分层(颜色 = 名称)。
主题选项还允许您以您想要的方式修改 graph/text。
ggplot(basedata, aes(data, y = value, color = Name)) +
geom_point() + geom_line() +
labs(title = "Your title")+
labs(x = "Years", y = "Observation") +
theme_bw() +
theme(plot.title = element_text(size = rel(2),face="bold"),
axis.text=element_text(size=12),
xis.title=element_text(size=16,face="bold")) +
scale_x_discrete(labels=c("Year 1","Year 2", "Year 3", "Year 4", "Year 5"))
我的数据如下:
Name Year1 Year2 Year3 Year4 Year5
Alpha 15 17 19 21 20
Beta 10 NA NA NA NA
Charlie 2 4 3 6 7
Delta 6 2 9 10 11
我的主要问题是如何使用 ggplot2 绘制 Alpha
作为连接的散点图?我设想垂直轴的范围从 0 到 25。水平轴是 Year1
、Year2
、...、Year5
.
我的第二个问题是如何将 Beta
、Charlie
和 Delta
添加为它们自己的连接线 - 以及如何使它们具有自己的颜色并具有图例表示哪个是哪个?
在我的真实数据集中(这只是一个玩具示例),我有超过一千行,所以如果可能的话我可能还想以某种方式对行进行分组或者做一些事情来更好地帮助可视化。
首先按照之前评论中所述融化您的数据。 之后,您想用 geom_point() 分散您的观察结果,并通过 geom_line() 连接它们,同时对名称进行分层(颜色 = 名称)。
主题选项还允许您以您想要的方式修改 graph/text。
ggplot(basedata, aes(data, y = value, color = Name)) +
geom_point() + geom_line() +
labs(title = "Your title")+
labs(x = "Years", y = "Observation") +
theme_bw() +
theme(plot.title = element_text(size = rel(2),face="bold"),
axis.text=element_text(size=12),
xis.title=element_text(size=16,face="bold")) +
scale_x_discrete(labels=c("Year 1","Year 2", "Year 3", "Year 4", "Year 5"))