English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Matplotlib饼图

Il grafico a torta può visualizzare una serie di dati. Il grafico a torta mostra le dimensioni degli elementi di una serie di dati (chiamati fessure), proporzionali alla somma degli elementi. I punti di dati nel grafico a torta vengono visualizzati come percentuale del grafico a torta.

L'API di Matplotlib ha una funzione pie(), che genera un grafico a torta che rappresenta i dati dell'array. L'area della fessura di ogni segmento è data da x/sum(x). Se sum(x)<1, il valore di x viene direttamente fornito come area decimale, e l'array non viene normalizzato. Il grafico a torta avrà una fessura vuota di dimensione 1 - sum(x).

Il grafico a torta ha un aspetto migliore se il grafico e l'asse sono quadrati, o se le direzioni degli assi sono uguali.

Parametro

La seguente tabella elenca i parametri del grafico a torta -

x - array, dimensioni delle fessure. labels - elenco. Una serie di stringhe, fornisce etichette per ogni fessura. colors - una serie di parametri di colore matplotlib, il grafico a torta verrà ciclicamente attraverso di essi. Se è None, verranno utilizzati i colori attualmente attivi nel ciclo. Autopct - stringa utilizzata per etichettare le fessure. Le etichette verranno posizionate all'interno delle fessure. La stringa di formato sarà fmt%pct.

I seguenti codici utilizzano la funzione pie() per visualizzare la lista degli studenti iscritti ai corsi di linguaggio informatico in un grafico a torta. Utilizzando il parametro autopct, la percentuale corrispondente viene visualizzata all'interno della fessura corrispondente, il parametro è impostato su %1.2f%%.

Esempio di codice:

# Nome del file: example.py
# Copyright: 2020 Da w3codebox
# Autore: it.oldtoolbag.com
# Data: 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 import matplotlib.pyplot as plt
 import numpy as np
 import math
 plt.rcParams['font.sans-serif'] = ['SimHei'] # Passo uno (sostituire il font sans-serif)
 plt.rcParams['axes.unicode_minus'] = False # 原文出自【立地货】,商业转载请联系作者获得授权,非商业请保留原文链接:
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.axis('equal')
 langs = ['C', 'C++', 'Java', 'Python', 'PHP']
 students = [23,17,35,29,12]
 ax.pie(students, labels = langs, autopct='%1.2f%%')
 plt.show()

执行上面示例代码,得到以下结果 -