BUG: legend behaves inconsistently when plotting to the same axes by sinhrks · Pull Request #6678 · pandas-dev/pandas (original) (raw)
There seems to be some inconsistencies related to DataFrame.plot and Series.plot legend behaviors.
Fix:
I've prepared a fix based on following concept, except hexbin which doesn't use legend.
df1 = DataFrame(randn(6, 3), index=range(6), columns=['a', 'b', 'c'])
df2 = DataFrame(randn(6, 3), index=range(6), columns=['d', 'e', 'f'])
df3 = DataFrame(randn(6, 3), index=range(6), columns=['x', 'y', 'z'])
fig, axes = plt.subplots(1, 5, figsize=(14, 3))
for i, (legend, df) in enumerate(zip([True, False, 'reverse'], [df1, df2, df3])):
df.plot(ax=axes[0], legend=legend, title='line')
df.plot(kind='bar', ax=axes[1], legend=legend, title='bar')
df.plot(kind='barh', ax=axes[2], legend=legend, title='barh')
df.plot(kind='kde', ax=axes[3], legend=legend, title='kde')
df.plot(kind='scatter', ax=axes[4], x=df.columns[0], y=df.columns[1], label=i,
legend=legend, title='scatter')
plt.show()
If there is anything should be considered, please let me know. Thanks.