如何在y轴上获得正确的顺序(matplotlob(P 2.7)正确

时间:2018-10-24 13:15:28

标签: python matplotlib

我想知道为什么y轴的顺序是随机的(请参见屏幕截图)。我正在从带有值对的文本文件中仅绘制x和y值,并希望y轴从最小值开始,以最大值结束。在我的情况下,y轴图的中间最小的数字(3)。我该如何纠正这种故障?

txt文件:

1,5
2,3
3,5
4,3
5,7
6,3
7,5
8,3
9,5
10,3

代码:

import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style

style.use('fivethirtyeight')

fig = plt.figure()
ax1 = fig.add_subplot(1,1,1)

def animate(i):
    graph_data = open('example.txt','r').read()
    lines = graph_data.split('\n')
    xs = []
    ys = []
    for line in lines:
        if len(line) > 1:
            x, y = line.split(',')
            xs.append(x)
            ys.append(y)
    ax1.clear()
    ax1.plot(xs, ys)

ani = animation.FuncAnimation(fig, animate, interval=1000)  # 1000 ms = 1 sec (updating)
plt.show()

enter image description here


我发现编辑以下两行代码会有所帮助!

之前: xs.append(x) ys.append(y)

之后: xs.append(float(x)) ys.append(float(y))

enter image description here

1 个答案:

答案 0 :(得分:1)

您在一行中指定了FiveThirtyEight样式

style.use('fivethirtyeight') 

只需将其删除即可使用常规打印样式。