R ggplot:不同条数的相同条宽

R ggplot:不同条数的相同条宽,r,ggplot2,bar-chart,R,Ggplot2,Bar Chart,我想有一个条形图,其中的酒吧有相同的宽度在不同的绘图,无论有多少酒吧显示。我不想在同一页上显示绘图,也不想用刻面、grid.arrange或诸如此类的方式对它们进行排列,而只希望有两个具有相同宽度条的绘图 我可以通过将宽度乘以图中的条数,再除以图中条数和最多条数(参见示例)来实现这一点。但是,如果在ggplot调用之前不进行任何计算就可以完成这项工作,那么它将更加方便,代码也会更加简洁 有没有一种方法可以指定以线、em、厘米为单位的钢筋宽度 或者,我可以在调用geom_col时访问映射到x轴的变

我想有一个条形图,其中的酒吧有相同的宽度在不同的绘图,无论有多少酒吧显示。我不想在同一页上显示绘图,也不想用刻面、
grid.arrange
或诸如此类的方式对它们进行排列,而只希望有两个具有相同宽度条的绘图

我可以通过将宽度乘以图中的条数,再除以图中条数和最多条数(参见示例)来实现这一点。但是,如果在ggplot调用之前不进行任何计算就可以完成这项工作,那么它将更加方便,代码也会更加简洁

有没有一种方法可以指定以线、em、厘米为单位的钢筋宽度

或者,我可以在调用
geom_col
时访问映射到x轴的变量的级别数吗?(注意映射到绘图之间的x-美学变化的变量)

还是有其他简单的解决方案

ggplot(data.frame(x=factor(1:2), y=4:5), aes(x=x, y=y)) + 
  geom_col(width=0.7*2/3)

ggplot(data.frame(A=factor(1:3), y=3:5), aes(x=A, y=y)) + 
  geom_col(width=0.7*3/3)

另外,您不能将绝对宽度设置为
geom_col()
/
geom_bar()
,因此您必须预先计算这些条的比例和纵横比,或者使用
geom_segment()
作为绝对参数。这些参数没有内部参数化为矩形,也没有单独的
color
fill
参数

库(ggplot2)
图书馆(拼凑)

g1这应该可以,非常感谢。如果我需要填充和颜色,我仍然可以手动计算尺寸并使用
geom\u rect