我有一张包含以下数据的CSV:
Hybrid ON OFF Model
1 1.022 1.033 0.939 283
2 0.988 1.016 1.068 283
3 1.012 0.958 1.872 283
4 1.073 5.476 0.907 283
5 1.054 0.952 0.902 283
6 0.992 0.941 0.908 283
我正在尝试使用此图像创建点图。
基本上红绿蓝分别是混合,开和关,在x轴上它们分组在'模型'上。我熟悉使用plot()创建简单的图,但我一直在阅读一些教程,这可以使用ggplot和melt ...来实现,它看起来有点先进。感谢是否有人可以提供一些指标。我在加载csv后尝试为不同的配置创建级别:
load <- read.csv("combined_temp.csv", sep="," , header=TRUE)
df <- data.frame(Config= rep(c("Hybrid", "ON", "OFF")))
我想在此之后使用ggplot但不知道该怎么做..甚至不确定我是否正在进行复制。对不起,我是R的新手。
答案 0 :(得分:0)
第一步是将数据重新整形为长格式,之后您可以使用ggplot2
轻松制作这样的地图:
library(reshape2)
dfl <- melt(df, id = "Model")
library(ggplot2)
ggplot(dfl, aes(x = factor(Model), y = value)) +
geom_point(aes(color = variable), shape = 1, size = 4, position = position_dodge(width = 0.4)) +
theme_bw()
这导致以下情节:
出于说明的原因,我扩展并更改了数据。
使用过的数据:
df <- structure(list(Hybrid = c(1.022, 0.988, 1.012, 1.073, 1.054, 0.992, 2.022, 1.988, 2.012, 2.073, 2.054, 1.992),
ON = c(1.033, 1.016, 0.958, 3.476, 0.952, 0.941, 2.033, 2.016, 1.958, 3.476, 1.952, 1.941),
OFF = c(0.939, 1.068, 1.872, 0.907, 0.902, 0.908, 2.939, 1.068, 1.872, 2.907, 2.902, 2.908),
Model = c(283L, 283L, 283L, 283L, 283L, 283L, 382L, 382L, 382L, 382L, 382L, 382L)),
.Names = c("Hybrid", "ON", "OFF", "Model"), class = "data.frame", row.names = c(NA, -12L))