我知道如何使用plt.legend(loc='lower left')设置matplotlib绘图的图例位置,但是,我使用panda方法df.plot()绘图,需要将图例位置设置为“左下角”。有人知道怎么做吗?编辑:我实际上是在寻找一种通过Pandas的df.plot()来做的方法,而不是通过plt.legend(loc='lower left')
plt.legend(loc='lower left')
df.plot()
q3qa4bjr1#
好吧,把它拴起来。
dframe.rank(ascending=False).plot(kind= 'bar').legend(loc='best')
假设“dframe”是 Dataframe 。
yyhrrdl82#
为了澄清最初的答案,目前还没有办法通过pandas.DataFrame.plot来实现这一点,在当前的实现(版本1.2.3)中,plot的'legend'参数只接受布尔值或字符串'reverse':
pandas.DataFrame.plot
plot
'legend'
'reverse'
在轴子图上放置图例它不接受图例位置字符串。剩余的**kwargs被传递到对应于指定'kind'参数(默认为matplotlib.pyplot.plot)的底层matplotlib.pyplot方法。这些方法都不允许通过其关键字参数进行图例定位。因此,目前唯一的方法是直接使用plt.legend()--正如我在下面的原始答案中所概述的那样。正如注解所指出的,您必须使用plt.legend(loc='lower left')将图例放在左下角。即使使用pandas.DataFrame.plot-也没有调整图例位置的参数,只有在绘制图例时才有。下面是一个完整的示例来显示用法
**kwargs
'kind'
matplotlib.pyplot.plot
matplotlib.pyplot
plt.legend()
import pandas as pd import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 100) y = np.random.random(100) df = pd.DataFrame({'x': x, 'y':y}) df.plot(kind='scatter', x='x', y='y', label='Scatter') plt.legend(loc='lower left') plt.show()
cbeh67ev3#
在panda 1.5.3中,你可以在plot()后面链接legend(),参见matplotlib。示例:
matched.set_index( matched.index.date ).plot(kind='barh', stacked=True ).legend( bbox_to_anchor=(1.0, 1.0), fontsize='small', );
3条答案
按热度按时间q3qa4bjr1#
好吧,把它拴起来。
假设“dframe”是 Dataframe 。
yyhrrdl82#
编辑
为了澄清最初的答案,目前还没有办法通过
pandas.DataFrame.plot
来实现这一点,在当前的实现(版本1.2.3)中,plot
的'legend'
参数只接受布尔值或字符串'reverse'
:在轴子图上放置图例
它不接受图例位置字符串。剩余的
**kwargs
被传递到对应于指定'kind'
参数(默认为matplotlib.pyplot.plot
)的底层matplotlib.pyplot
方法。这些方法都不允许通过其关键字参数进行图例定位。因此,目前唯一的方法是直接使用
plt.legend()
--正如我在下面的原始答案中所概述的那样。正如注解所指出的,您必须使用
plt.legend(loc='lower left')
将图例放在左下角。即使使用pandas.DataFrame.plot
-也没有调整图例位置的参数,只有在绘制图例时才有。下面是一个完整的示例来显示用法cbeh67ev3#
在panda 1.5.3中,你可以在plot()后面链接legend(),参见matplotlib。
示例: