如何在R中绘制图形

5kgi1eie  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(206)

我想问一下我是否能用这些数据画出图表。
我有数据集看起来像下面,(不是真实的的数据,但它有这个数据集的形式)

Year 2005 2006 2007 2008 2009 2010 2011
X     0    0    0    1    1    1    1  
Y     0    0    0    0    0    3    3

我想画一个图,既有图又有线,x轴上有每年的x变量,y轴上有Y变量。
它不是简单的ggplot(dataset, aes(x=X, y=Y))+geom_point()+geom_line()
相反,我想让它看到X轴上每年X的数量。
R是否提供了这些功能?还是我必须分别画年份和X,然后再画X和Y?
非常感谢您的评分!
如上所述,我尝试了ggplot 2函数。

vx6bjr1n

vx6bjr1n1#

这应该是一个评论,但我会花更多的空间来浏览它,因为可能会有一些混乱。
这是一个典型的例子,需要将数据从宽转换为长,以使其可视化。假设您的数据为dataset,您可以首先使用tidy::pivot_longer以TIdy Data格式获取它,然后绘制:

library(tidyr)
library(dplyr)
library(ggplot2)

dataset %>% 
  pivot_longer(-Year) %>% 
  ggplot(aes(x = name, y = value, group = Year)) +
  geom_point() + 
  geom_line()

pivot_longer(-Year)获取除Year之外的所有列,并将它们转换为long(运行dataset %>% pivot_longer(-Year)以查看它的操作)。
生成的图形如下所示,您可以根据需要进行自定义:

数据:

dataset <- read.table(text = "Year 2005 2006 2007 2008 2009 2010 2011
X     0    0    0    1    1    1    1  
Y     0    0    0    0    0    3    3", h = TRUE)

相关问题