ggplot 中的条形图
我在使用ggplot制作条形图时遇到问题。
我尝试了 qplot 和 gplot 的不同组合,但我要么得到直方图,要么它交换我的条形图,或者决定使用对数缩放。
使用普通绘图函数。我会这样做:
d <- 1/(10:1)
names(d) <- paste("id", 1:10)
barplot(d)
I'm having problems making a barplot using ggplot.
I tried different combinations of qplot and gplot, but I either get a histogram, or it swaps my bars or it decides to use log-scaling.
Using the ordinary plot functions. I would do it like:
d <- 1/(10:1)
names(d) <- paste("id", 1:10)
barplot(d)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要在 ggplot2 中绘制条形图,您必须使用
geom="bar"
或geom_bar
。您是否尝试过 ggplot2 网站上的 geom_bar 示例?要使您的示例正常工作,请尝试以下操作:
ggplot
需要一个 data.frame 作为输入。因此,将您的输入数据转换为 data.frame。geom_plot
创建条形图。在这种情况下,您可能想告诉 ggplot 数据已使用 stat="identity" 进行汇总,因为默认情况下是创建直方图。(请注意,您在示例中使用的函数
barplot
是基本 R 图形的一部分,而不是ggplot
。)代码:
To plot a bar chart in ggplot2, you have to use
geom="bar"
orgeom_bar
. Have you tried any of the geom_bar example on the ggplot2 website?To get your example to work, try the following:
ggplot
needs a data.frame as input. So convert your input data into a data.frame.geom_plot
to create the bar chart. In this case, you probably want to tellggplot
that the data is already summarised usingstat="identity"
, since the default is to create a histogram.(Note that the function
barplot
that you used in your example is part of base R graphics, notggplot
.)The code: