问题描述
我有这个数据框“xy”:
mean_name mean_T_S mean_SIH
1 Action 3 3.272727
2 Reflection 5 4.727273
3 flexibility 4 5.136364
4 Structure 3 2.636364
并且想要绘制两条线的折线图(一条用于 mean_T_S,另一条用于 mean_SIH)。
我尝试将数据框“xy”更改为这种格式
mean_name key value
1 Action mean_SIH 3.272727
2 Reflection mean_SIH 4.727273
3 flexibility mean_SIH 5.136364
4 Structure mean_SIH 2.636364
5 Action mean_T_S 3.000000
6 Reflection mean_T_S 5.000000
7 flexibility mean_T_S 4.000000
8 Structure mean_T_S 3.000000
然后尝试
xyplot <- ggplot(xy,aes(x=mean_name,y=xy$value,colour=xy$key)) + geom_line()
但它给出了以下错误:
Error: geom_line requires the following missing aesthetics: y
感谢您的帮助!
解决方法
不知道你是如何尝试在一条线上绘制一个谨慎的 x
变量(需要一个连续变量),你可以这样开始
df <- read.table(text = ' mean_name mean_T_S mean_SIH
1 Action 3 3.272727
2 Reflection 5 4.727273
3 Flexibility 4 5.136364
4 Structure 3 2.636364',header = T)
library(tidyverse)
df %>% pivot_longer(!mean_name) %>%
ggplot() +
geom_col(aes(x = mean_name,y = value,color = name),position = 'dodge')
由 reprex package (v2.0.0) 于 2021 年 5 月 14 日创建