当前位置: 首页 > 知识库问答 >
问题:

matplotlib饼图用主图的实际标题替换最后一个饼图子图标题[重复]

解宏扬
2023-03-14

我遇到了一个问题,matplotlib pie用实际的绘图标题替换子绘图文本的最后一个值。有人能告诉我为什么我要面对这个问题,以及如何克服它吗?

keep_list_tt = [6.012, 2.734, 2.76, 4.585, 4.19]
eppm_plot    = [0, 771, 830, 919, 1097]
all_test_tt = [31.344, 31.344, 31.344, 31.344, 31.344]
always_failing_list_tt = [0.112, 0.112, 0.112, 0.112, 0.112]
always_failing_list_tt = [23.203, 23.203, 23.203, 23.203, 23.203]

import matplotlib.pyplot as plt

fig, axs = plt.subplots(1,len(keep_list_tt), figsize=(30,8))
labels = ["always_failing_list_tt", "always_passing_list_tt", "keep_list_tt","remove_list_tt"]
explode = (0.2, 0,0.1,0.1)
for i in range(len(keep_list_tt)):
    eppm_pie_plot = [always_failing_list_tt[i],always_passing_list_tt[i],keep_list_tt[i],round(np.subtract(all_test_tt[i],np.add(keep_list_tt[i],np.add(always_failing_list_tt[i],always_passing_list_tt[i]))),3)] 
    pie = axs[i].pie(eppm_pie_plot, explode=explode,autopct="")
    axs[i].set_title("EPPM is - {}".format(eppm_plot[i]))
    for j, a in enumerate(pie[2]):
        a.set_text("{}".format(eppm_pie_plot[j]))
    

plt.legend(labels,bbox_to_anchor=(1.1,0.5) )
plt.axis('equal')
plt.title ("Temp")
plt.show()

共有1个答案

陆文博
2023-03-14

这个问题似乎是由于plt.axis('equal')仅应用于循环进程外的最后一个图形。请将代码移到循环中。同时,优化图形的循环方式。

import matplotlib.pyplot as plt

fig, axs = plt.subplots(1,len(keep_list_tt), figsize=(30,8))
labels = ["always_failing_list_tt", "always_passing_list_tt", "keep_list_tt","remove_list_tt"]
explode = (0.2, 0,0.1,0.1)

for i, ax in enumerate(fig.axes):
    eppm_pie_plot = [always_failing_list_tt[i],always_passing_list_tt[i],keep_list_tt[i],round(np.subtract(all_test_tt[i],np.add(keep_list_tt[i],np.add(always_failing_list_tt[i],always_passing_list_tt[i]))),3)] 
    pie = ax.pie(eppm_pie_plot, explode=explode, autopct="")
    ax.set_title("EPPM is - {}".format(eppm_plot[i]))
    ax.axis('equal')
    for j, a in enumerate(pie[2]):
        a.set_text("{}".format(eppm_pie_plot[j]))
    plt.legend(labels, bbox_to_anchor=(1.1,0.5))

#plt.axis('equal')
fig.suptitle("Temp")

plt.show()
 类似资料:
  • 饼状图用来显示一个数据系列,具体来说,饼状图显示一个数据系列中各项目的占项目总和的百分比。 Matplotlib 提供了一个 pie() 函数,该函数可以生成数组中数据的饼状图。您可使用 x/sum(x) 来计算各个扇形区域占饼图总和的百分比。pie() 函数的参数说明如下: X 数组序列,数组元素对应扇形区域的数量大小。 labels 列表字符串序列,为每个扇形区域备注一个标签名字。 color

  • 我试图添加自定义渲染器的每个饼图在我的图表上的基础上,数据的类型是传递(整数vs美元,金额vs百分比)。但是,中的数据似乎只有1个键(然而,当数据集创建为时,它有和)。 在下面的图片中,我试图实现的是右边的图(“销售总额”)将显示美元金额()。 我尝试了什么:我尝试创建一个自定义呈现器,并传入datatype的枚举,但这不起作用,因为数据类型是因为我无法确定呈现器中呈现的是哪个馅饼: 这可能吗?所

  • 我的php页面有多个动态饼图,我希望使用chart.js为每个饼图显示图例和标题 这是我的JS代码: PHP代码: 请建议我为每个饼图设置一个标题和图例。

  • 饼图 饼图的切片大小由 metrics 聚合决定,下列聚合可用于饼图: Count count 聚合返回所选索引模式中元素的原始数量。 Sum sum 聚合返回一个数值型字段的总和。从下拉框选择一个字段。 Unique Count cardinality 聚合返回一个字段中唯一值的数量。从下拉列表选择一个字段。 在 Custom Label 字段中输入一个字符串来修改显示标签。 桶 聚合用于决定从

  • 饼图以扇区的形式显示每一个数值相对于总数值的大小。 图4-9 Highcharts 饼图图 柱状图相关的配置参考 API 文档: 饼图配置:针对当前数据列有效 饼图数据列配置 :针对当前页面的所有饼图数据列有效 一、饼图的一些特性 1、环形图 环形图可以让饼图展示多个系列的数据。在 Highcharts 中,只需要指定数据列的大小 (size) 和内部大小(innerSize) 就可以创建环形饼图

  • 主要内容:实例,实例,实例前面的章节我们已经学会了使用 ECharts 绘制一个简单的柱状图,本章节我们将绘制饼图。 饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目。因为不在直角坐标系上,所以也不需要 xAxis,yAxis。 实例 myChart.setOption({ series : [ { name: '访问来源', type: 'pie', //