Python Matplotlib如何使用坐标轴绘图()循环的内部方法

2024-03-29 09:08:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用axes.plot()方法绘制一个简单的多系列折线图,在此方法中,我需要将数据传递给for循环中的axes.plot()。程序设置如下:

def Plot(dict_inner):
    df = pd.DataFrame.from_dict(dict_inner)
    cases = df.columns.values.tolist()
    fig, ax = plt.subplots()
    x = df['Date']
    for case in cases:
        y = df[case]
        ax.plot(x, y)
    plt.legend()
    plt.show()

这将返回各种matplotlib方法的错误列表,结尾为: ValueError:视图限制最小值-36502.7149864小于1,是无效的Matplotlib日期值。如果将非datetime值传递给具有datetime uni的轴,则通常会发生这种情况 ts公司

但是,如果在for循环外调用该方法,我可以生成绘图:

def Plot(dict_inner):
    df = pd.DataFrame.from_dict(dict_inner)
    fig, ax = plt.subplots()
    x = df['Date']
    case_1 = '3xKd'
    case_2 = '9xKd'
    y1 = df[case_1]
    y2 = df[case_2]
    ax.plot(x, y1)
    ax.plot(x, y2)
    plt.legend()
    plt.show()

enter image description here

我是Python新手,希望能得到任何帮助。谢谢!你知道吗


Tags: 方法fromdataframedfforplotdefplt
1条回答
网友
1楼 · 发布于 2024-03-29 09:08:17
import matplotlib.pyplot as plt
fig = plt.figure()
plot_this =  fig.add_subplot()

for colour in ['red','blue','green']:
    x= np.random.rand(6,1)
    y=np.random.rand(6,1)
    plot_this.plot(x, y, color=colour)

plt.show()

我以前也遇到过类似的情况。 在本例中,我使用add\u subplot(),创建一个新对象并从中绘图。 希望这有帮助。你知道吗

相关问题 更多 >