创建具有未知饼数的饼图

2024-06-06 06:39:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个函数来创建一个饼图。这个饼图可以有n个饼,这就是为什么我将函数参数作为*args。 我找到了一种根据函数中输入参数的数量来创建颜色的方法,但是我被困在了如何在此函数中创建图例的问题上

我想要变量名作为图例。 例如,如果调用了pieChart(freigegebenCommands, KeinefreigegebenCommands ),那么我的图例应该是

图例=['freigegebenCommands'、'KeinefreigegebenCommands']

如何实现这一点

 def pieChart(*args):

    sizes = []
    for arg in args:
        sizes.append(len(arg))

    totalargs = len(args)    
    cs=cm.Set1(np.arange(totalargs)/totalargs)
    explode = (0.1, 0)  # explode 1st slice

    # Plot
    patches, texts, autotexts = plt.pie(sizes, explode=explode, colors=cs, autopct='%1.1f%%', shadow=True, startangle=140, radius = 2)

    ##HOW TO ADD LEGEND??
    #plt.legend(patches, legend, loc="best", bbox_to_anchor=(0.7, 1))
    plt.axis('equal')
    plt.show()

Tags: 函数lenargargspltcssizes图例
1条回答
网友
1楼 · 发布于 2024-06-06 06:39:41

您可以将参数从简单数据类型更改为元组或任何其他合适的类型(即字典)

input = [('slice_name', 1) ...]

pieChart(*input)

然后在你的函数中改变你的for循环

sizes = [len(x[1]) for x in args]

并从第一个索引中获取图例

相关问题 更多 >