Python 使用R和ggplot,我如何用3个都有多个时间值的变量来绘制数据
所以我是R的新手,我很难弄清楚如何绘制这些数据。我想我对如何在ggplot中使用aes函数感到困惑,因为我不明白如果我有3列数据,并且每列下有一组不同的时间,我将如何对x和y进行分类Python 使用R和ggplot,我如何用3个都有多个时间值的变量来绘制数据,python,r,ggplot2,Python,R,Ggplot2,所以我是R的新手,我很难弄清楚如何绘制这些数据。我想我对如何在ggplot中使用aes函数感到困惑,因为我不明白如果我有3列数据,并且每列下有一组不同的时间,我将如何对x和y进行分类 Grubhub Postmates Doordash 2 4 5 5 8 9 2 2 8 29 8 17 12 23 98 我正在努力实现
Grubhub Postmates Doordash
2 4 5
5 8 9
2 2 8
29 8 17
12 23 98
我正在努力实现这一结果:
我将如何使用ggplot来实现这一点?我太迷路了,谢谢你 关键是将数据格式化为长格式。
ggplot2
中的一个很好的实践是重塑数据,以便所有设备都能正常工作。您的数据的格式称为wide
。为了转换数据,您可以使用tidyverse
函数,如pivot\u longer()
和everything()
来调整数据格式。完成后,您可以绘制代码中所示的绘图。以下是解决方案:
library(tidyverse)
#Code to reshape data to long
df %>% pivot_longer(everything()) %>%
ggplot(aes(x=name,y=value,color=name,group=name))+
geom_point()
输出:
使用的一些数据:
#Data
df <- structure(list(Grubhub = c(2L, 5L, 2L, 29L, 12L), Postmates = c(4L,
8L, 2L, 8L, 23L), Doordash = c(5L, 9L, 8L, 17L, 98L)), class = "data.frame", row.names = c(NA,
-5L))
输出:
#Code to reshape data to long 2
df %>% pivot_longer(everything()) %>%
ggplot(aes(x=name,y=value,color=name,group=name))+
geom_point()+
theme(legend.position = 'none')