首页 > 解决方案 > 在 Matplotlib 中显示多个线图例

问题描述

我正在尝试显示我的折线图的所有 4 个图例,列标题用作各自的图例名称。是否有一种优雅的方式来执行此操作,而无需编写单独的代码行来绘制和标记每一列?

我当前数据集的示例如下:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

x = pd.Series(np.array([1,2,3,4,5,6,7,8,9,10]))
y = pd.DataFrame(np.random.rand(10,4))
y.columns = ["A","B","C","D"]
fig, ax = plt.subplots(figsize=(10, 7))
ax.plot(x, y, label=True)

标签: pythonmatplotliblegend

解决方案


实际上,您可以使用 pandas 中定义的绘图函数:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

x = pd.Series(np.array([1,2,3,4,5,6,7,8,9,10]))
y = pd.DataFrame(np.random.rand(10,4))
y.columns = ["A","B","C","D"]
y['x'] = x
fig, ax = plt.subplots(figsize=(10, 7))
y.plot(ax=ax)

输出图像


推荐阅读