【问题标题】:Creating a pie chart with unknown number of pies创建一个饼图数量未知的饼图
【发布时间】:2020-02-27 14:56:44
【问题描述】:

我正在尝试创建创建饼图的函数。这个饼图可以有 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()

【问题讨论】:

    标签: python python-3.x legend pie-chart


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2016-02-29
      相关资源
      最近更新 更多