我很难理解matplotlib.pyplot.xlim()
的工作原理。
我正在绘制x值与y值的简单绘图。 y值是100-600范围内的数值点。 x值的大小为e-09
到e-13
。所以,我将x映射到y。这是我的情节,带有通用伪代码
import matplotlib.pyplot as plt
x = np.array
y = np.array
plt.plot(x,y)
plt.ylim(0,400)
plt.show()
正如你所知,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()
这是输出图。
使用origninal图,如何设置x轴以查看实际数据?
答案 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-9
到1e-13
,那么你的长度标度就完全不同了。在这种情况下,对数轴可能是合适的。请注意,仅当所有x值严格为正值时才有效。
plt.xscale('log')