R:如何在图中删除这个微小的轴边距

Posted

技术标签:

【中文标题】R:如何在图中删除这个微小的轴边距【英文标题】:R: how to remove this tiny axis margin in plot 【发布时间】:2016-07-10 05:15:00 【问题描述】:

我想消除 X 和 Y 值(图片上的红线)上接近零的小边距,并且只绘制红色方块中显示的内容。

我尝试设置 par(mar = rep(0, 4)xlim=c(0, ...), ylim=c(0, ...) 但 R 仍然不断添加这个微小的边距。如何摆脱它?

编辑: 关于我的问题的另一种观点: 运行后:

require(plotrix)
axisRange <- c(0,500)
plot(NULL, xlim = axisRange, ylim=axisRange)
draw.circle(0, 0, 200, col = "white", border = "red")

我最终得到一个不在“真实”0,0 点的圆:

编辑2: 实际上我想要做的是绘制不同半径的圆,并将其保存为图像。这就是为什么我关心利润。 我最终得到了这样的东西(角落的斑点供参考):

而且应该更像这样:

【问题讨论】:

不,我想绘制给定半径的圆并去掉边距 请参阅编辑。是的,我的错误 - 我使用 plotrix 画圆。但也许有比这更好的东西来重建我的圆圈形象? 您在寻找xaxsyaxs 吗?使用您的 plotrix 示例:设置 par(mar = rep(0, 4))plot(NULL, xlim=axisRange, ylim=axisRange, xaxs = "i", yaxs = "i")。然后,添加圆圈。 @Jota 几乎!但它仅在 Y 轴(从左侧)上起作用(就像我想要的那样)。它仍然在顶部、底部和右侧留下边距 ..实际上我只是看到它取决于 RStudio 上的窗口缩放...:/ 【参考方案1】:

您可以将xaxsyaxs 参数设置为“i”,而不是默认的“r”。来自par 帮助页面:

样式“r”(常规)首先将数据范围扩大 4% end 然后找到一个带有漂亮标签的轴 扩展范围。

样式“i”(内部)只是找到一个带有漂亮标签的轴 在原始数据范围内。

library(plotrix)
axisRange <- c(0,500)
par(mar = rep(0,4))
plot(NULL, xlim = axisRange, ylim=axisRange, xaxs = "i", yaxs = "i")
draw.circle(0, 0, 200, col = "white", border = "red")

给予:

【讨论】:

以上是关于R:如何在图中删除这个微小的轴边距的主要内容,如果未能解决你的问题,请参考以下文章

如何从 plotly 中删除图中的轴刻度线?

如何在ggarrange ggpubr ggplot中调整边距(轴元素消失)R

如何在dojo图中的轴上应用点击事件

共享轴并删除 matplotlib 子图中未使用的轴

如何删除 .png 周围的奇怪白边(用 r、ggplot 绘制)?

如何删除 pyplot.bar 中的轴?