r - 如何更改ggplot中条形的对齐方式
问题描述
我正在尝试在 x 轴上针对频率制作长度等级的条形图。长度向下舍入,因此我希望 0cm 的条形图绘制在 0 的右侧,而不是以 0 为中心。
考虑代码:
library(ggplot2)
set.seed(0)
d <- data.frame(x=seq(0,50,5), y=runif(11))
ggplot(d, aes(x=x, y=y)) + geom_col()
产生
我希望它类似于
ggplot(d, aes(x=x+mean(diff(x)/2), y=y)) + geom_col()
有没有办法通过改变position
参数geom_col
而不是直接操作数据来做到这一点?
解决方案
更新
即使数据发生变化也应该有效的解决方法:
图书馆(ggplot2)
d <- data.frame(x= seq(0,50,round(runif(1)*10)))
d$y = runif(nrow(d))
ggplot(d, aes(x=x, y=y)) +
geom_col(width = min(diff(sort(d$x)))*0.9,
position = position_nudge(x = min(diff(sort(d$x)))*0.9/2))
原始答案 希望这会有所帮助:
library(ggplot2)
set.seed(0)
d <- data.frame(x=seq(0,50,5), y=runif(11))
ggplot(d, aes(x=x, y=y)) +
geom_col(position = position_nudge(x = 2))
推荐阅读
- string - fmt.Scanner 的意外 EOF
- c# - 在 ASP.NET 中一次将多条记录写入数据库
- javascript - 如何让后端文件(app.js)处理任何来自前端的url
- yaml - 从 Markdown 生成的 pptx 上的自定义标题页
- android - 如何以编程方式在位图周围完全添加填充?
- json - 键入'_InternalLinkedHashMap
' 不是“字符串” JSON 映射到模型中的子类型 - .net - Visual Studio 打开“记录 CPU 配置文件”以通过分析 CPU 使用率来测量应用程序性能但得到空结果
- c# - 从 TextBox 中的每一行中提取哈希值子字符串
- python - 使用 python 扩展、转置和去聚合数据集
- html - 防止文本中断到一半