Matplotlib故障排除,matplotlib.pyplot.xlim()

时间:2015-06-18 18:03:03

标签: python matplotlib plot

我很难理解matplotlib.pyplot.xlim()的工作原理。

我正在绘制x值与y值的简单绘图。 y值是100-600范围内的数值点。 x值的大小为e-09e-13。所以,我将x映射到y。这是我的情节,带有通用伪代码

import matplotlib.pyplot as plt 

x = np.array
y = np.array

plt.plot(x,y)
plt.ylim(0,400)
plt.show()

enter image description here

正如你所知,0到0.5之间有很多结构。我想看一下。

所以,我试试

plt.plot(x,y)
plt.xlim(0,0.5)
plt.ylim(0,400)
plt.show()

输出图完全空白。我什么也没看见。

所以,我试试,xlim = -1到+1

plt.plot(x,y)
plt.xlim(-1,1)
plt.ylim(0,400)
plt.show()

这是输出图。

enter image description here

使用origninal图,如何设置x轴以查看实际数据?

2 个答案:

答案 0 :(得分:2)

正如你明确提到的那样

  

x值为e-09至e-13。

因此,如果您想查看var answers = {}; function renderNextQuestion () { pos++; renderQuestion(); } for (var i=0; i<choices.length; i++) { //traverse through the choices if (choices[i].checked) { //check which choice the student chose answers[pos] = (answers[pos] || { attempts: 0, correct: false }); answers[pos].attempts++; // Did they get it right? answers[pos].correct = (choices[i].value == questions[pos][5]); // Correct answer if (answers[pos].correct) { alert("Correct"); renderNextQuestion() // Incorrect, but first guess } else if (answers[pos].attempts < 2) { alert("Try again"); // Incorrect and not the first } else { alert("Incorrect"); renderNextQuestion(); } } } 1e-8中的值,您应该这样做:

0.5e-9

而不是

plt.xlim(1e-8,0.5e-9)

您没有要显示的值,因为x的值在e-09到e-13之内。

答案 1 :(得分:1)

如果你的x值大小为1e-91e-13,那么你的长度标度就完全不同了。在这种情况下,对数轴可能是合适的。请注意,仅当所有x值严格为正值时才有效。

plt.xscale('log')