gpt4 book ai didi

python - 在一张图表上绘制两个图后,没有发现带有标签的句柄会导致图例错误

转载 作者:行者123 更新时间:2023-12-04 07:52:53 25 4
gpt4 key购买 nike

我正在逐月绘制一些功能并突出显示其中的一些功能。在我添加高亮之前,图例可以自动显示,但现在它返回 No handles with labels found to put in legend错误。
示例数据

df = pd.DataFrame(np.random.randn(10, 4), columns=list('ABCD'))
highlight = ['A', 'B']
fig, ax = plt.subplots(figsize=(15, 5))
plt.plot(df.loc[:, ~df.columns.isin(highlight)], c='gray', alpha=0.5)
plt.plot(df.loc[:, df.columns.isin(highlight)])
months = pd.date_range('2019-04-01','2019-08-01', freq='MS').strftime("%Y-%m").tolist()
plt.legend(loc='center left', bbox_to_anchor=(1.0, 0.5))
z = ax.set_xticklabels(months, rotation=45)
enter image description here
我想在一张图表上绘制两个图会导致此问题,但不知道如何解决。我不想手动指定图例。

最佳答案

  • 使用 pandas.DataFrame.plot 而不是 plt.plot
  • 这可确保将列标题正确分配为正确行
  • 的标签。
  • 它返回一个 matplotlib.axes.Axes numpy.ndarray其中。

  • 此示例使用 pandas v1.2.3

  • import pandas as pd
    import matplotlib.pyplot as plt

    ax = df.loc[:, df.columns.isin(highlight)].plot(figsize=(15, 5))
    df.loc[:, ~df.columns.isin(highlight)].plot(c='gray', alpha=0.5, ax=ax)

    plt.legend(title='column labels', loc='center left', bbox_to_anchor=(1.0, 0.5))
    plt.show()
    enter image description here

    关于python - 在一张图表上绘制两个图后,没有发现带有标签的句柄会导致图例错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66862848/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com