在python中使用matplotlib时抛出的轴

时间:2016-03-11 06:19:08

标签: python matplotlib plot

我在Python 2.7中遇到了matplotlib的一些问题。基本上,我试图将一些值(Y)与相应的X值进行对比。发生的事情是我得到一个完全压扁的x轴。

我有一个变量Xmse,它具有以下值:

Xmse = [2028.5457074044693,
 1653.3262637440594,
 1337.3889339729938,
 1176.2728864230257,
 1072.2873906521645,
 981.65920843213678,
 912.14636955892638,
 858.67713877925848,
 807.43207831735913,
 764.48689721143887]

每个值都是根据边界计算的:boundary = [1,2,3,4,5,6,7,8,9,10]

因此,当我尝试绘制图表boundary是我的x值且Xmse是我的Y值时,我得到这个图:

squished plot

来自此代码:

plt.plot(boundary,Xmse)
plt.show()

所以看起来我的y值几乎是倒置的,并且出于某种原因,即使我的值都不是负数,我也会对y值有负值。此外,x轴被压扁。在线查看后,我尝试将以下内容添加到我的代码中:

plt.xticks([1,2,3,4,5,6,7,8,9,10])
plt.plot(boundary,Xmse)
plt.show()

但我仍然以同样的情节结束。那么我怎么能只绘制一条与matplotlib中的X-Y值相对应的简单线?

1 个答案:

答案 0 :(得分:0)

这对我来说很好,即无需明确设置宽高比。 我使用的是Anaconda-64bit的Python 2.7发行版。

import pylab as p  # or : import matplotlib.pyplot as p

Xmse = [2028.5457074044693,
 1653.3262637440594,
 1337.3889339729938,
 1176.2728864230257,
 1072.2873906521645,
 981.65920843213678,
 912.14636955892638,
 858.67713877925848,
 807.43207831735913,
 764.48689721143887]
boundary = [1,2,3,4,5,6,7,8,9,10] 

p.plot(boundary,Xmse)
p.show()