1

我必须绘制的一些数据具有坐标,例如 (20, 0 )、(10, 0 ) 等......基本上一些点属于 x 轴。

问题是,这些点被轴隐藏了;即标记位于线的后面,因此无法正确看到。

这是我的图的一个例子:http: //i.stack.imgur.com/FNcob.png

有人有解决这个问题的想法吗?我没主意了……

谢谢。

维克多

4

1 回答 1

5

默认情况下,Matplotlib“捕捉”绘图限制为“整体”(2、5、10、100 等的因子)数字。这通常意味着您的数据可能会出现在绘图的边界上。

ax.margins允许您在计算绘图的自动缩放之前添加填充因子。这是避免绘图边界上的点问题的快速方法。

作为问题的一个简单示例:

import matplotlib.pyplot as plt

x, y = [0, 10, 20], [10, 0, 0]
fig, ax = plt.subplots()
ax.plot(x, y, 'ko')
plt.show()

在此处输入图像描述

还有一个简单的解决方案:

import matplotlib.pyplot as plt

x, y = [0, 10, 20], [10, 0, 0]
fig, ax = plt.subplots()
ax.plot(x, y, 'ko')

# Pad by 5% of the data range before autoscaling:
ax.margins(0.05)

plt.show()

在此处输入图像描述

于 2013-04-23T20:27:41.870 回答