好的,这应该很容易,但我无法弄清楚。我有一个名为avePrice的数据(使用ggplot2中的钻石信息):
Fair Good Very Good Premium Ideal
282.0 3050.5 2648.0 3181.0 1809.0
我想绘制,使用x轴上的标题(第一行)作为标签,使用y轴上的值(第二行)。
这似乎在R中应该很容易,但我似乎无法弄明白!
我可以这样做
qplot(x=c("Fair", "Good", "Very Good", "Premium", "Ideal"), y=avePrice, geom="bar", xlab="Diamond Cut", ylab="Average Price")
哪个有效,但似乎有一种简单的方法可以做到这一点,而无需手动输入xlabels?希望?
提前致谢...当有人指出如何:我希望感到愚蠢:)
澄清:我知道我可以从qplot命令中移出x = c(“Fair ...”)的东西并将其放在其他地方,但我仍然需要在那时手动输入它。
答案 0 :(得分:3)
您可以使用ggplot2
直接绘制此图,而无需按切割计算平均价格。这是一个单行
qplot(cut, price, data = diamonds, stat = 'summary', fun.y = 'mean')
答案 1 :(得分:2)
ggplot
通常需要数据框列中的数据。
df <- data.frame(Fair=282.0, Good=3050.5, Very.Good=2648.0, Premium=3181.0, Ideal=1809.0)
df.fix <- data.frame(grades=names(df), avePrice=t(df), row.names=NULL)
qplot(grades, avePrice, data=df.fix, geom='bar', stat='identity')
但是在一行中:
qplot(x=names(df), y=t(df), geom='bar', stat='identity')