设置 ggplot2 条形图参数
Setting ggplot2 bar plot parameters
我想为 ggplot2
条形图对象设置特定的条形图参数。
具体来说,我希望条形图从 y 轴值为 1 的位置开始,并且我希望下限为 -1,上限为最大图形值的 1.25 倍。
这可能吗?如果可以,如何实现?
下面是一些示例代码。
提前致谢。
# loads ggplot2 package
library(ggplot2)
# displays information about data
colnames(mtcars)
mtcars
# creates bar plot
bar_plot__x_is_cyl__y_is_carb <-
# ---- NOTE: sets up ggplot data
ggplot(mtcars, aes(x=cyl, y=carb)) +
# ---- NOTE: creates bar graph
geom_bar(stat="identity", position=position_dodge(), width = .3)
# ---- NOTE: displays bar plot
bar_plot__x_is_cyl__y_is_carb
大概是这样? geom_bar
/geom_col
总是从零基线开始(*对数刻度除外,请参阅 ?geom_bar
处的帮助),因此如果您希望条形从其他地方开始,您可能需要使用 geom_rect
或 geom_tile
。我觉得这里用geom_tile
比较方便,但是它的y
是以柱子的中点为基准的,所以需要一点代数来描述:
ggplot(mtcars, aes(x=cyl)) +
geom_tile(aes(y = (carb +1)/2,
height = (carb-1),
width = 0.3)) +
scale_y_continuous(breaks = -1:10) +
coord_cartesian(ylim = c(-1, 1.25*max(mtcars$carb)))
我想为 ggplot2
条形图对象设置特定的条形图参数。
具体来说,我希望条形图从 y 轴值为 1 的位置开始,并且我希望下限为 -1,上限为最大图形值的 1.25 倍。
这可能吗?如果可以,如何实现?
下面是一些示例代码。
提前致谢。
# loads ggplot2 package
library(ggplot2)
# displays information about data
colnames(mtcars)
mtcars
# creates bar plot
bar_plot__x_is_cyl__y_is_carb <-
# ---- NOTE: sets up ggplot data
ggplot(mtcars, aes(x=cyl, y=carb)) +
# ---- NOTE: creates bar graph
geom_bar(stat="identity", position=position_dodge(), width = .3)
# ---- NOTE: displays bar plot
bar_plot__x_is_cyl__y_is_carb
大概是这样? geom_bar
/geom_col
总是从零基线开始(*对数刻度除外,请参阅 ?geom_bar
处的帮助),因此如果您希望条形从其他地方开始,您可能需要使用 geom_rect
或 geom_tile
。我觉得这里用geom_tile
比较方便,但是它的y
是以柱子的中点为基准的,所以需要一点代数来描述:
ggplot(mtcars, aes(x=cyl)) +
geom_tile(aes(y = (carb +1)/2,
height = (carb-1),
width = 0.3)) +
scale_y_continuous(breaks = -1:10) +
coord_cartesian(ylim = c(-1, 1.25*max(mtcars$carb)))