医生对Roman的数据框架进行了轻微修改。
library(ggplot2)
my.cars <- data.frame(
Toyota = runif(50),
Mazda = runif(50),
Renault = runif(50),
Car = paste("Car", 1:50, ".txt", sep = "")
)
my.cars.melted <- melt(my.cars, id.vars = "Car")
他随后建议,看起来车辆变量是分类的,因此你的第一选择应该是条形图。
p_bar <- ggplot(my.cars.melted, aes(Car, value, fill = variable)) +
geom_bar(position = "dodge")
p_bar
他接着指出对于95辆车来说,这可能会变得有些麻烦。也许点图更合适。
p_dot <- ggplot(my.cars.melted, aes(Car, value, col = variable)) +
geom_point() +
opts(axis.text.x = theme_text(angle = 90))
p_dot
由于这仍然有些难以获取有用信息,因此最好按平均值(无论价值是什么)对汽车进行排序。
my.cars.melted$Car <- with(my.cars.melted, reorder(Car, value))
(然后像以前一样重新绘制p_dot
。)
最后,医生指出你可以使用以下方法绘制Roman推荐的线图:
p_lines <- ggplot(my.cars.melted, aes(as.numeric(Car), value, col = variable)) +
geom_line()
p_lines