R 绘图会自动设置 x 和 y 限制,以便在数据和轴之间放置一些空间。我想知道 matplotlib 是否有办法自动执行相同的操作。如果没有,对于 R 如何设置其轴限制,是否有一个好的公式或“经验法则”?
问问题
994 次
2 回答
7
在 matplotlib 中,您可以通过设置margins
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.margins(0.04)
data = range(1, 11)
ax.plot(data, 'wo')
plt.savefig('margins.png')
但是,似乎没有 rc 参数可以自动获取它。
2013 年 4 月更新
现在可以在 matplotlib master中为边距添加 rc 参数 (感谢@tcaswell)。所以它应该适用于下一个 matplotlib 版本(当前版本是 1.2.1)。
于 2012-11-21T06:57:17.743 回答
6
查看?par
参数xaxs
:
用于 x 轴的轴间隔计算样式。可能的值是“r”、“i”、“e”、“s”、“d”。样式通常由数据范围或 xlim(如果给定)控制。
样式“r”(常规)首先在每一端将数据范围扩展 4%,然后找到一个带有漂亮标签且适合扩展范围的轴。
因此,如果我们尝试一下:
par(xaxs="r") #The default
plot(1:10, 1:10)
我们实际上可以证明它是每边范围的 +/- 4%:
abline(v=1-(diff(range(1:10)))*0.04, col="red")
abline(v=10+(diff(range(1:10)))*0.04, col="red")
于 2012-11-21T03:08:57.417 回答