默认 XTS 图的内部图边距

发布于 2024-12-11 15:21:56 字数 434 浏览 0 评论 0原文

当绘制没有任何自定义 par 属性的 XTS 对象时,我在绘图框(或“绘图区域”)内得到一个边距 离开 http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/index.htm):

在此处输入图像描述

(由于白底白字,很难看到,但绘图框(带有黑色实线的框)和边缘之间可能还有 20px 左右的距离这 图像)。

如何调整绘图框中的边距?

When plotting an XTS object without any custom par attributes, I get a margin within the plot box (or "plot area" going off of http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/index.htm):

enter image description here

(It is hard to see due to white on white, but there is another maybe 20px or so between plot box (the box with the solid black line) and the edge of the image).

How can I adjust the margin within the plot box?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

满地尘埃落定 2024-12-18 15:21:56

您可以通过在调用 plot()plot.xts() 时设置 yaxs="i" 来解决此问题

yaxs< /code> 和 xaxs 指定用于计算绘制轴范围的方法。 yaxs="r"(默认值)是将轴延伸到超出最小和最大 y 值。 yaxs="i" 绘制的轴仅覆盖数据范围(或提供的 ylim 值),没有额外的缓冲区。

它并不漂亮,但这个示例将向您展示差异:

require(xts)
par(mfcol=c(1,2))
data(sample_matrix)
plot(as.xts(sample_matrix))
plot(as.xts(sample_matrix), yaxs="i")

如果您想更好地控制绘制的范围,您可能需要将 yaxs="i"ylim=extendrange 结合使用(范围(y值))

You could fix this by setting yaxs="i" in your call to plot() or plot.xts()

yaxs and xaxs specify the methods used to calculate the extent of the plotted axes. yaxs="r" (the default) is to extend the axis a bit beyond your minimum and maximum y-values. yaxs="i" plots axes that just cover the range of your data (or the supplied value of ylim) with no additional buffer.

It's not pretty, but this example will show you the difference:

require(xts)
par(mfcol=c(1,2))
data(sample_matrix)
plot(as.xts(sample_matrix))
plot(as.xts(sample_matrix), yaxs="i")

If you want even finer control over the range plotted, you might want to use yaxs="i" in combination with ylim=extendrange(range(yvalues)).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文