我创建了一个 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/