我想在情节中添加边距,以便0.0
远离角落,而不是0.0
位于边角。我正在查看the docs,似乎添加此行plt.margins(x_margin, y_margin)
应该添加填充。然而,无论该函数调用如何,我的输出仍然是相同的,并且仍然缺少边距填充。
要生成的示例代码:
import matplotlib.pyplot as plt
plt.plot([0, 0.1, 0.3, 0.5, 0.7, 0.9, 1], [0.16, 0.17, 0.18, 0.19, 0.2, 0.21, 0.22], 'ro')
plt.axis([0, 1, 0.15, 0.3])
# Create a 10% (0.1) and 10% (0.1) padding in the
# x and y directions respectively.
plt.margins(0.1, 0.1)
plt.show()
答案 0 :(得分:2)
绘制数据后,请尝试以下方法:
x0, x1, y0, y1 = plt.axis()
margin_x = 0.1 * (x1-x0)
margin_y = 0.1 * (y1-y0)
plt.axis((x0 - margin_x,
x1 + margin_x,
y0 - margin_y,
y1 + margin_y))
答案 1 :(得分:2)
这里有两个相互矛盾的陈述:
plt.axis([0, 1, 0.15, 0.3])
将x轴限制设置为(0,1)
。这不能通过plt.margins(0.1, 0.1)
取消。
根据目标,您可以
plt.margins(0.1, 0.1)
以获得10%的边距。考虑10%
页边距,计算您想要的限制;例如如
lim = [0, 1, 0.15, 0.3]
plt.axis( [lim[i] +2*(i%2-.5)*(lim[i//2+1]-lim[i//2])*0.1 for i in range(4)] )