geom_text标签如何设置不同的数字舍入规范?
How to set different digit rounding specifications for labels with geom_text?
我正在尝试用四舍五入到小数点后一位的数据来标记我的条形图。但是,我的值为 0。我想找到某种方法来确保零值不会显示为 0.0
。我希望它们显示为 0
.
这是我的情节目前的样子:
代码:p2+geom_text(aes(label=sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
我通过尝试完全不标记 0
值来解决这个问题。但是,这会导致我的标签未正确对齐的问题。 (请注意最左侧面板中美洲原住民 0.
的标签偏移量)。
代码:p2+geom_text(data=subset(demo_long_pct,pct != 0),aes(label=sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
在其中使用 ifelse 语句如何?像这样..
p2 + geom_text(aes(label=ifelse(test = pct == 0, yes = pct, no = sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
如果 yes 条件参数仍然标有小数点,您也可以将其替换为 0。
我正在尝试用四舍五入到小数点后一位的数据来标记我的条形图。但是,我的值为 0。我想找到某种方法来确保零值不会显示为 0.0
。我希望它们显示为 0
.
这是我的情节目前的样子:
代码:p2+geom_text(aes(label=sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
我通过尝试完全不标记 0
值来解决这个问题。但是,这会导致我的标签未正确对齐的问题。 (请注意最左侧面板中美洲原住民 0.
的标签偏移量)。
代码:p2+geom_text(data=subset(demo_long_pct,pct != 0),aes(label=sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
在其中使用 ifelse 语句如何?像这样..
p2 + geom_text(aes(label=ifelse(test = pct == 0, yes = pct, no = sprintf("%0.1f", pct)), position=position_dodge(width=0.7), vjust=-0.25, size=3)
如果 yes 条件参数仍然标有小数点,您也可以将其替换为 0。