为什么我的x轴域不能全部绘制?

时间:2017-05-28 02:56:47

标签: python-3.x matplotlib

愿任何人帮助我了解图表的情节。

我的python编码为

import matplotlib.pyplot as plt
import math
import numpy as np

x=[-0.006,-0.005,-0.004,-0.003,-0.002,-0.001,0,0.001,0.002,0.003,0.004,0.005,0.006]
x = np.array(x)
y = 220*(1 -(0.85*np.exp(-np.pi**2/np.log(2)*(x*0.53e-9/((759.5e-9)**2)**2))))

plt.plot(x,y)
plt.xlabel('optical path difference')
plt.ylabel('coincidence counts in 3 min')
plt.scatter(x,y)
plt.show()

Graph

为什么图表不是从x = 0.006开始?

谢谢。

1 个答案:

答案 0 :(得分:1)

出现问题的原因是x的负值和-inf:

x:

[-0.006 -0.005 -0.004 -0.003 -0.002 -0.001  0.     0.001  0.002  0.003
  0.004  0.005  0.006]

Y:

[ -inf  -inf  -inf  -inf  -inf  -inf   33.  220.  220.  220.  220.  220.
  220.]

这些不能被绘制,所以matplotlib消除了它们。如果我们强制它显示-0.006到0的边,我们将观察以下(plt.xlim([-0.006, 0.006])):

enter image description here