Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python matplotlib中的R样式数据轴缓冲区_Python_R_Matplotlib_Plot - Fatal编程技术网

Python matplotlib中的R样式数据轴缓冲区

Python matplotlib中的R样式数据轴缓冲区,python,r,matplotlib,plot,Python,R,Matplotlib,Plot,R绘图自动设置x和y限制,以便在数据和轴之间留出一些空间。我想知道matplotlib是否有办法自动执行相同的操作。如果没有,是否有一个好的公式或“经验法则”来说明R如何设置其轴限制?查看参数xaxs的

R绘图自动设置x和y限制,以便在数据和轴之间留出一些空间。我想知道matplotlib是否有办法自动执行相同的操作。如果没有,是否有一个好的公式或“经验法则”来说明R如何设置其轴限制?

查看参数
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')