我有这个弹道图:

barplot(table(
  factor(c(0, 0, 0, 1, 1, 2, 2, 2, 4, 8, 10), levels=seq(0, 10, 1))
  ))

在此条形图中,在y值为0的位置绘制条形轮廓,从而生成一条线:

Image of a barplot with lines for frequencies of 0

我不希望有一条线,而是一个缺口:

Image of a barplot without lines for frequencies of 0

我如何才能 suppress 这些行?

Note: I don't want to suppress x values where y is 0! I want there to be a gap!

推荐答案

一种方法是拆分代码,下面是一个示例:

# Create a table
df <- table(factor(c(0, 0, 0, 1, 1, 2, 2, 2, 4, 8, 10), levels = seq(0, 10, 1)))

# Create a barplot
barplot(df[df != 0])

enter image description here

但要删除按钮线,您可以删除边框线:

barplot(table(factor(data, levels = seq(0, 10, 1))), border = ifelse(table(data) != 0, "white", NA))

enter image description here

R相关问答推荐

使用R中的Shapetime裁剪格栅文件

向gggplot 2中的数据和轴标签添加大写和星号

如何计算R数据集中每个女性的子元素数量?

在使用ggroove后,将图例合并在gplot中

从R导出全局环境中的所有sf(numrames)对象

为什么观察不会被无功值变化触发?

为什么在ggplot2中添加geom_text这么慢?

R s iml包如何处理语法上无效的因子级别?'

R—将各种CSV数字列转换为日期

SHINY:使用JS函数应用的CSS样式显示HTML表格

如何将使用rhandsontable呈现的表值格式化为百分比,同时保留并显示完整的小数精度?

汇总数据帧中的复制列,保持行的唯一性

在数据帧列表上绘制GGPUP

如何使用For-R循环在向量中找到一系列数字

如何平滑或忽略R中变量的微小变化?

删除数据帧中特定行号之间的每第三行和第四行

为R中的16组参数生成10000个样本的有效方法是什么?

自定义交互作用图的标签

使用geom_sf跨越日期线时的闭合边界

对计算变量所有唯一值的变量进行变异