matplotlib通过函数设置图例属性,例如location和handlelength

时间:2014-04-03 16:10:52

标签: matplotlib

这是一个示例图和用于设置图例属性的函数:

import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(10), label = 'legend text')
ax.plot(2 * range(10))
leg = plt.legend(title = 'legend here')

def lprop_adjuster(leg, fs = 16)
    ltext = leg.get_texts()
    for item in ltext:
        item.set_fontsize(fs)
    handlelength = 4  #  out of the function I would have passed it within plt.legend()
                      #+ but I didn't find any info about setting it in a way that can be passed 
                      #+ through a function

lprop_adjuster(leg)

使用此方法我可以设置标签和标题的图例字体大小(使用.get_texts(),. get_title()...),设置框架的开,关,...,但是如何设置通过这个功能定位?

编辑:我还想通过该函数设置图例处理长度值。

1 个答案:

答案 0 :(得分:3)

没有记录在案的公共API。

您可以使用未记录的私有财产_loc来使用legend.codes中的友好代码更改图例:

def lprop_adjuster(leg, fs=16, loc="upper right")
    ltext = leg.get_texts()
    for item in ltext:
        item.set_fontsize(fs)
    leg._loc = leg.codes[loc]