【问题标题】:How to set the labels size on a pie chart in python如何在python中的饼图上设置标签大小
【发布时间】:2011-08-16 17:27:06
【问题描述】:

我想在 python 的饼图中使用小尺寸的标签以提高可见性 这是代码

import matplotlib.pyplot as plt

frac=[1.40 , 10.86 , 19.31 , 4.02 , 1.43 , 2.66 , 4.70 , 0.70 , 0.13 , 1.48, 32.96 , 1.11 , 13.30 , 5.86]
labels=['HO0900344', 'HO0900331', 'HO0900332', 'HO0900354', 
'HO0900358', 'HO0900374', 'HO0900372', 'HO0900373', 
'HO0900371', 'HO0900370', 'HO0900369', 'HO0900356', 
'HO0900353', 'HO0900343']

fig = plt.figure(1, figsize=(6,6))
ax = fig.add_subplot(111)
ax.axis('equal')
colors=('b', 'g', 'r', 'c', 'm', 'y', 'burlywood', 'w')
ax.pie(frac,colors=colors ,labels=labels, autopct='%1.1f%%')
plt.show()

感谢和欢呼

【问题讨论】:

    标签: python matplotlib pie-chart labels


    【解决方案1】:

    更改饼图字体大小的最简单方法是直接通过pie() 函数中的textprops argument。使用上面的代码添加它:

    ax.pie(frac, colors=colors ,labels=labels, 
           autopct='%1.1f%%', textprops={'fontsize': 14})
    

    这样您就可以传入具有所需字体大小(例如 14)的字典。不要乱用rcParams 或从函数调用返回值。

    【讨论】:

    • 这应该是最佳答案
    • 如何在不改变autopct字体大小的情况下改变label的字体大小?
    【解决方案2】:

    有几种方法可以更改标签的字体大小。

    您可以dynamically changet the rc settings。在脚本顶部添加以下内容:

    import matplotlib as mpl
    mpl.rcParams['font.size'] = 9.0
    

    或者您可以在创建标签后对其进行修改。当您调用ax.pie 时,它是returns a tuple(补丁、文本、自动文本)。例如,将最后几行代码修改如下:

    patches, texts, autotexts = ax.pie(frac, colors=colors, labels=labels, autopct='%1.1f%%')
    texts[0].set_fontsize(4)
    plt.show()
    

    【讨论】:

    • 要一次设置所有标签的大小,请使用列表理解:[ _.set_fontsize(4) for _ in texts ]
    猜你喜欢
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多