首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在循环中对matplotlib轴进行索引是干什么的?

在循环中对matplotlib轴进行索引是干什么的?
EN

Stack Overflow用户
提问于 2018-01-19 01:56:35
回答 1查看 116关注 0票数 0

我在Matplotlib here中看到了一篇关于在多个饼图上分配相同颜色的帖子。

但是有些东西我不明白为什么要索引这个轴对象。

下面是代码:

代码语言:javascript
复制
import numpy as np
import matplotlib.pyplot as plt

def mypie(slices,labels,colors):

    colordict={}
    for l,c in zip(labels,colors):
        print l,c
        colordict[l]=c

    fig = plt.figure(figsize=[10, 10])
    ax = fig.add_subplot(111)

    pie_wedge_collection = ax.pie(slices, labels=labels, labeldistance=1.05)#, autopct=make_autopct(slices))

    for pie_wedge in pie_wedge_collection[0]:
        pie_wedge.set_edgecolor('white')
        pie_wedge.set_facecolor(colordict[pie_wedge.get_label()])

    titlestring = 'Issues'

    ax.set_title(titlestring)

    return fig,ax,pie_wedge_collection

slices = [37, 39, 39, 38, 62, 21, 15,  9,  6,  7,  6,  5,  4, 3]
cmap = plt.cm.prism
colors = cmap(np.linspace(0., 1., len(slices)))
labels = [u'TI', u'Con', u'FR', u'TraI', u'Bug', u'Data', u'Int', u'KB', u'Other', u'Dep', u'PW', u'Uns', u'Perf', u'Dep']

    fig,ax,pie_wedge_collection = mypie(slices,labels,colors)

plt.show()

在行:for pie_wedge in pie_wedge_collection[0],索引是做什么的?如果我不使用或不使用pie_wedge_collection[1],代码就不能工作

这里的ax对象不是只有一个地块吗?所以我不明白指数在做什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 03:23:17

根据Matplotlib文档,pie()返回两个或三个列表:

  1. matplotlib.patches.Wedge列表
  2. matplotlib.text.Text标签列表
  3. (有条件的) matplotlib.text.Text数据标签列表

您的代码需要操作由Wedge返回的pie()对象的边缘和面板颜色,这些颜色位于返回值pie_wedge_collection的第一个列表(零索引)中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48333063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档