首页 > 解决方案 > Matplotlib Pyplot 简单的意大利面条图

问题描述

我正在尝试仅将一个简单的 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()

我的情节是这样的:

在此处输入图像描述

标签: pythonpython-3.xmatplotlib

解决方案


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

话虽如此,我不确定以下是否是您要查找的内容。我只是切换了绘制和定义轴限制的顺序。此外,您有两行多余的代码来设置 y 限制。

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()

在此处输入图像描述


推荐阅读