R中的两条线图

问题描述

我有这个数据框“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 日创建

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...