Matplotlib Pyplot简单的意大利面条图

时间:2019-04-07 02:57:47

标签: python python-3.x matplotlib

我正在尝试仅将一个简单的Python3 Matplotlib pyplot定义(无numpy或pandas)定义为在一个具有相同轴的图上的意大利面条图3列表。 现在地块可以工作了,但是地块上有3个独立的分区范围吗? 数据是一个简单的基于时间的10点增量,因此我跳过了xaxis列表。

____ Ain0____ Ain1___ Ain2

0 : 4.9072    1.4307    0.0000     
1 : 4.9072    1.4307    0.0000     
2 : 4.9072    1.4307    0.0000     
3 : 4.9072    1.4307    0.0000     
4 : 4.9072    1.4307    -0.0098     
5 : 4.9072    1.4404    0.0000     
6 : 4.9072    1.4307    0.0049     
7 : 4.9072    1.4307    0.0000     
8 : 4.9072    1.4307    -0.0049     
9 : 4.9072    1.4307    0.0000

y轴限制应为+/- 5。

import matplotlib.pyplot as plt
def Matplot():
    global DIFF_USED,DataSize,Data_Ain0,Data_Ain1,Data_Ain2,Data_Ain3

    plt.xlabel('time')
    plt.ylabel('Volts')
    plt.axis([0, DataSize, -5, 5])
    plt.ylim(top=5)  
    plt.ylim(bottom=-5) 

    plt.plot(Data_Ain0, 'r--', label='Ain0')
    plt.plot(Data_Ain1, 'bs', label='Ain1')
    plt.plot(Data_Ain2, 'g^', label='Ain2')

    plt.show()

我的情节看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

首先,应在绘图后 设置用户定义的轴限制,否则将覆盖绘图前的设置值。

话虽如此,我不确定您是否在寻找以下内容。我只是切换了绘制和定义轴极限的顺序。另外,您有两行用于设置y-limits的冗余代码。

import matplotlib.pyplot as plt

def Matplot():
    global DIFF_USED, DataSize, Data_Ain0,Data_Ain1,Data_Ain2,Data_Ain3
    plt.plot(Data_Ain0, 'r--', label='Ain0')
    plt.plot(Data_Ain1, 'bs', label='Ain1')
    plt.plot(Data_Ain2, 'g^', label='Ain2')

    plt.xlabel('time')
    plt.ylabel('Volts')
    plt.axis([0, DataSize, -5, 5]) 
    plt.show()

enter image description here