R 基于组的绘图
我有总共500行的数据集:250个pop,250个重金属。如何在R中生成此绘图 我的实际数据集并不像我给出的示例那样被分离。我应该把它分开吗 到目前为止我做了什么R 基于组的绘图,r,plot,scatter-plot,R,Plot,Scatter Plot,我有总共500行的数据集:250个pop,250个重金属。如何在R中生成此绘图 我的实际数据集并不像我给出的示例那样被分离。我应该把它分开吗 到目前为止我做了什么 ggplot(data = playlist, aes(x = genre, y = danceability)) + geom_jitter(aes(col = genre)) 请参阅如何创建一个简单的自包含示例 考虑到您给我们的屏幕截图,我不知道如何生成所需的绘图,因为您只有一个数值变量-可跳舞性。在您的示例中,散点图在x
ggplot(data = playlist, aes(x = genre, y = danceability)) +
geom_jitter(aes(col = genre))
请参阅如何创建一个简单的自包含示例
考虑到您给我们的屏幕截图,我不知道如何生成所需的绘图,因为您只有一个数值变量-可跳舞性
。在您的示例中,散点图在x轴上需要两个-数据
也就是说,一旦你得到了第二个数值变量,你几乎已经回答了你自己的问题。差不多
ggplot(data = playlist, aes(x = Data, y = danceability)) +
geom_jitter(aes(col = genre))
会给你想要的。你遇到的问题是你已经映射了x=genre
。因此,genre
被转换为一个因子,然后绘制在1
或2
处
相反,您要做的是将数据绘制在x轴上的一个随机点上。一种简单的方法是随机采样1:nrow(播放列表)
,如下所示:
ggplot(data = playlist, aes(x = sample(1:nrow(playlist),nrow(playlist)),
color = genre, y = danceability)) +
geom_point(aes(col = genre)) + labs(x = "data")
请注意,您不再需要geom\u抖动
数据:
playlist <- structure(list(danceability = c(0.683, 0.768, 0.693, 0.765, 0.506,
0.809, 0.628, 0.556, 0.72, 0.706, 0.414, 0.448, 0.687, 0.747,
0.532, 0.483, 0.491, 0.224, 0.666, 0.416, 0.44, 0.362, 0.28,
0.42, 0.115, 0.35, 0.519, 0.538, 0.507, 0.261), genre = c("pop",
"pop", "pop", "pop", "pop", "pop", "pop", "pop", "pop", "pop",
"pop", "pop", "pop", "pop", "pop", "heavy-metal", "heavy-metal",
"heavy-metal", "heavy-metal", "heavy-metal", "heavy-metal", "heavy-metal",
"heavy-metal", "heavy-metal", "heavy-metal", "heavy-metal", "heavy-metal",
"heavy-metal", "heavy-metal", "heavy-metal")), row.names = c(NA,
-30L), class = "data.frame")
playlist您可以创建一个ID列以在x轴上使用,而不是在流派上,然后使用geom_point
。之后,如果您愿意,可以在绘图中取消显示ID标签。很高兴这有帮助。干杯