matplotlib螺旋向上浮动轴

时间:2014-01-14 08:05:49

标签: python matplotlib axis axes

我的Matplotlib图表存在问题。

我的计划:
我读取传感器数据并将其保存在一个小数位(00.0)的csv文件中 保存后,我将单个数据读出到列表中 我的列表名为tempList,数字为float

我的情节:

plt.plot(tempList, color='r', linewidth=2.0)     
plt.xticks(range(len(tempList)), timeList2, size='small', rotation=20) 
plt.axis('auto')
plt.xlabel('Time')
plt.ylabel('degree Celsius')
plt.title('Temperature')
plt.grid(True)
plt.savefig('img/temp.png', format='png', transparent = True)
plt.close()

我的结果:
http://s24.postimg.org/5ewu74w51/temp.png

我的清单:
[20.3,20.4,20.4,20.4,20.4,20.4,20.4,20.4,20.4,20.4]

如果我用int做一个列表一切正常,但由于我需要thoose小数位,我不能使用int。
我已经尝试设置'ylim'但它不起作用

编辑: 谢谢你的帮助 我删除了'plt.axis('auto')' 解决方案:

minTemp = math.ceil(min(tempList))
minTemp = round(minTemp, 1)
maxTemp = math.ceil(max(tempList))
maxTemp = round(maxTemp, 1)
plt.ylim((minTemp-1), (maxTemp+1))

plt.ylim((minTemp-1), (maxTemp+1))

1 个答案:

答案 0 :(得分:2)

我做了这个最小的例子。 我删除了plt.axis('auto')并将其替换为plt.ylim,这似乎有效。 当我用plt.axis('auto')替换plt.ylim时,它不能很好地工作。

from matplotlib import pyplot as plt
import math
tempList = [20.3, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4, 20.4]
plt.plot(tempList)
plt.ylim(math.floor(min(tempList)), math.ceil(max(tempList)))
plt.show()