如何使用 ggplot 创建并排条形图(用于多个系列)?

Posted

技术标签:

【中文标题】如何使用 ggplot 创建并排条形图(用于多个系列)?【英文标题】:How to create side-by-side bar charts (for multiple series) with ggplot? 【发布时间】:2011-04-09 09:31:45 【问题描述】:

我有两组数据(3 列:x=类别,y = 数值,l = 位置),我想创建一个条形图,其中 x 轴上的类别,对于类别的每个值,两个垂直条,颜色不同,每个位置的 y 值。默认情况下,Excel/OpenOffice 会生成这种图表。

我试过了

qplot (x,y,data=mydata,col=location, geom="histogram")

但它会产生堆叠条,而不是并排。然后我查看了 ggplot2 文档,没有找到我可以使用的任何其他 geom(完整列表见下文)。

ggplot2 不可能吗?

提前致谢。

Name Description
abline - Line, specified by slope and intercept
area - Area plots
bar - Bars, rectangles with bases on y-axis
blank - Blank, draws nothing
boxplot - Box-and-whisker plot
contour - Display contours of a 3d surface in 2d
crossbar - Hollow bar with middle indicated by horizontal line
density - Display a smooth density estimate
density_2d - Contours from a 2d density estimate
errorbar - Error bars
histogram - Histogram
hline - Line, horizontal
interval - Base for all interval (range) geoms
jitter - Points, jittered to reduce overplotting
line - Connect observations, in order of x value
linerange - An interval represented by a vertical line
path - Connect observations, in original order
point - Points, as for a scatterplot
pointrange - An interval represented by a vertical line, with a point
in the middle
polygon - Polygon, a filled path
quantile - Add quantile lines from a quantile regression
ribbon - Ribbons, y range with continuous x values
rug - Marginal rug plots
segment - Single line segments
smooth - Add a smoothed condition mean
step - Connect observations by stairs
text - Textual annotations
tile - Tile plot as densely as possible, assuming that every tile is the same size
vline - Line, vertical

【问题讨论】:

geom 是几何对象的缩写,不是几何体。 我已经更正了这个问题。感谢您创建 ggplot2! 【参考方案1】:

这里有一个position 参数,默认为stack。使用:

qplot (x,y,data=mydata,col=location, geom="bar", position="dodge") 

说明书上有,搜索“dodge”即可。此外,如果y 值给出了条形的高度,您可能想要一个“条形”几何图形。

【讨论】:

以上是关于如何使用 ggplot 创建并排条形图(用于多个系列)?的主要内容,如果未能解决你的问题,请参考以下文章

从两个不同的图表创建组合的单个条形图或直方图,并在第 1 年和第 2 年中并排显示条形图

使用 ggplot2 创建条形图并按多个值拆分条形?

R语言ggplot2可视化因子分组并排条形图柱状图可视化添加误差条:barplot with several variables side by side grouped by a factor

ggplot2用于带有两个相同刻度标签的条形图

ggplot - 如何堆叠和分组条形图?

为多个变量制作堆积条形图 - R 中的 ggplot2