2017-10-21 100 views
0

Quelqu'un peut-il m'aider à résoudre l'erreur ci-dessous tout en générant Camembert avec l'option Explode. ValueError: 'exploser' doit être de longueur x 'Comment résoudre une erreur Python lors de la génération de camembert: ValueError: 'explode' doit être de longueur 'x'

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import datetime as dt 

figureObject, axesObject = plt.subplots() 
labels = "ABC", "XYZ" 
delay = [delay1, delay2] 
colors = ("red", "green", "orange", "cyan", "brown", 
"grey","blue","indigo", "beige", "yellow") 
explode = (0, 0.1, 0, 0) 

# Draw the pie chart 
axesObject.pie(delay, 
    explode=explode, 
    labels=labels, 
    colors=colors, 
    shadow=True, 
    autopct='%1.2f', 
    startangle=90, 
    wedgeprops = { 'linewidth' : 2, 'edgecolor' : "cyan" }) 

    plt.legend(patches, labels, loc="best") 

# Aspect ratio - equal means pie is a circle 
    axesObject.axis('equal') 
    plt.show() 

informations supplémentaires: J'utilise la version 3.6 Anaconda. Je suis capable de générer un graphique circulaire sans exploser, mais quand j'utilise exploser, je reçois une erreur - ValueError: 'explode' doit être de longueur 'x'.

S'il vous plaît aidez-moi, comment surmonter ce problème.

Répondre

0

Surtout, il permet de lire the documentation, qui dit

matplotlib.pyplot.pie(x, explode=None ,...)

x : array-like
The input array used to make the pie chart.

explode : array-like, optional, default: None
If not None, is a len(x) array which specifies the fraction of the radius with which to offset each wedge.

Par conséquent, si l'entrée x comporte deux éléments, explode doivent également avoir deux éléments, ... et non 4 comme dans le code de la question .

+0

Salut, merci pour votre soutien. Maintenant, je comprends l'erreur. Maintenant, mon graphique circulaire fonctionne correctement comme prévu. vraiment sympa. :-) – Sekhar