python中2 y轴的传奇问题

时间:2017-06-20 13:32:40

标签: 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()`

1 个答案:

答案 0 :(得分:1)

而不是

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")