Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用R和ggplot,我如何用3个都有多个时间值的变量来绘制数据_Python_R_Ggplot2 - Fatal编程技术网

Python 使用R和ggplot,我如何用3个都有多个时间值的变量来绘制数据

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 我正在努力实现

所以我是R的新手,我很难弄清楚如何绘制这些数据。我想我对如何在ggplot中使用aes函数感到困惑,因为我不明白如果我有3列数据,并且每列下有一组不同的时间,我将如何对x和y进行分类

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')