Python matplotlib中的R样式数据轴缓冲区
R绘图自动设置x和y限制,以便在数据和轴之间留出一些空间。我想知道matplotlib是否有办法自动执行相同的操作。如果没有,是否有一个好的公式或“经验法则”来说明R如何设置其轴限制?查看参数Python matplotlib中的R样式数据轴缓冲区,python,r,matplotlib,plot,Python,R,Matplotlib,Plot,R绘图自动设置x和y限制,以便在数据和轴之间留出一些空间。我想知道matplotlib是否有办法自动执行相同的操作。如果没有,是否有一个好的公式或“经验法则”来说明R如何设置其轴限制?查看参数xaxs的
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")
在matplotlib中,可以通过设置 然而,似乎并没有一个rc参数可以自动获取它 更新日期2013年4月 现在可以在matplotlib中为边距添加rc参数 (谢谢@tcaswell)。
因此,它应该适用于下一个matplotlib版本(当前版本为1.2.1)。这是正确的答案。不确定为什么选择另一个答案,因为问题是关于Python的matplotlib而不是R的plot()(R只是用作比较)。
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')