python - python 中 2 y 轴的图例问题

标签 python pandas matplotlib

我创建了一个 2 y 轴图,左轴有一个条形图,右轴有 2 个折线图。我很难让图例同时包含条形图和折线图。我可以单独绘制图例,但我想将它们放在一起。这是我到目前为止所做的工作。

import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

df = pd.read_csv('data.csv')
x = df["date"]
y1 = df["line 1"]
y2 = df["line 2"]
z = df["bar 1"]
y_pos = np.arange(len(x))

lns1 = plt.bar(y_pos,z)
plt.ylabel('bar 1')
plt.xlabel('date')
plt.legend([lns1], ["bar 1"])
plt.twinx()
lns2 = plt.plot(y_pos,y1,'r-',linewidth=2.5)
lns3 = plt.plot(y_pos,y2,color='orange',linewidth=2.5)
plt.ylabel('L-SLOC')
plt.xticks(y_pos, x)
plt.xlabel('date')
plt.title('Title of graph')

plt.legend(["line 1", "line 2"],loc="upper left")


plt.draw()
plt.show()`

最佳答案

代替

plt.legend([lns1], ["bar 1"])

plt.legend(["line 1", "line 2"],loc="upper left")

你可以试试这个:

plt.legend([lns1, lns2, lns3], ["bar 1", "line 1", "line 2"],loc="upper left")

关于python - python 中 2 y 轴的图例问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44654530/

相关文章:

python - 不在 Flask 中散列密码

python - 自定义 matplotlib 图 : chess board like table with colored cells

python - 合并 Pandas 中的重复行

python - 如何让 FigureCanvasTkAgg 与 Scrollbar 一起工作

python - pandas.Series 在 pyplot.hist 中引发 KeyError

python - 让__import__获取动态添加的方法

Python:将 lambda 函数 append 到列表

python - 在 python setup.py data_files 中包含整个目录

python - 如何使用 pandas 进行单元格合并

python - pandas 列的二进制字符串中每个数字的众数