如何在图表坐标中指定图例位置
如何在图表坐标中指定图例位置
我知道bbox_to_anchor关键字和这个帖子,它非常有用地建议了如何手动放置图例:
然而,我想使用图中x轴和y轴的坐标来指定图例的位置(在图中),因为我可能需要将图转移到具有不同坐标轴环境的大图中,并且我不想每次都手动调整这些坐标。这可行吗?
编辑:这里有一个小例子:
import numpy as n f, axarr = plt.subplots(2,sharex=True) axarr[1].set_ylim([0.611,0.675]) axarr[0].set_ylim([0.792,0.856]) axarr[0].plot([0, 0.04, 0.08],n.array([ 0.83333333, 0.82250521,0.81109048]), label='test1') axarr[0].errorbar([0, 0.04, 0.08],n.array([ 0.8, 0.83, 0.82]),n.array([0.1,0.1,0.01]), label='test2') axarr[1].plot([0, 0.04, 0.08],n.array([ 0.66666667, 0.64888304, 0.63042428])) axarr[1].errorbar([0, 0.04, 0.08],n.array([ 0.67, 0.64, 0.62]),n.array([ 0.01, 0.05, 0.1])) axarr[0].legend(bbox_to_anchor=(0.04, 0.82, 1., .102),labelspacing=0.1, handlelength=0.1, handletextpad=0.1,frameon=False, ncol=4, columnspacing=0.7)
我认为让我困惑的是图例实际上并不从0.82开始,事实上对于我的更大的图(具有5个类似的子图),我需要使用图例坐标bbox_to_anchor=(0.04, 1.15, 1., .102)才能使图例出现在坐标(0.02, 0.83)。但也许我还有其他地方弄错了?