2017-03-23 3 views
1

J'essaie de générer un camembert simple pour une meilleure visualisation de certaines données, mais XlsxWriter n'écrit pas de données sur deux colonnes simultanément. Où comme autre exemple fonctionne bien.XlsxWriter n'écrit pas simultanément sur plusieurs colonnes

Je suis complètement paumé où je pourrais aller mal

Après les données sont:

{'core2': [10.3], 'core3': [4.17], 'core0': [58.68], 'core1': [24.42], 'core6': [0.02], 'core7': [0.0], 'core4': [2.31], 'core5': [0.12]}) 

Les données réelles est passée liste ->[10.3, 4.17, 58.68, 24.42, 0.02, 0.0, 2.31, 0.12] au-dessous de la fonction

S'il vous plaît trouverez ci-dessous le code :

def draw_simultaneously_busy_cores(type_of_chart,data,workbook): 
    print data 
    worksheet = workbook.add_worksheet()#'simultaneously_busy_cores') 
    bold = workbook.add_format({'bold': 1}) 
    headings = [0, 1, 2, 3, 4, 5, 6, 7] 
    worksheet.write_column('$A$1', headings, bold) 
    worksheet.write_column('$B$1',headings) 

    chart1 = workbook.add_chart({'type': type_of_chart}) 

    chart1.add_series({ 
     'name':  'Simultaneous Busy Cores', 
     'categories': ['simultaneously_busy_cores', '=simultaneously_busy_cores!$A$1:$A$8'], 
     'values':  ['simultaneously_busy_cores', '=simultaneously_busy_cores!$B$1:$B$8'], 
     #'data_labels': {'percentage': True, } 
     }) 
    #Add a title. 
    chart1.set_title({'name': 'Simultaneous Busy Cores'}) 
    #Set an Excel chart style. Colors with white outline and shadow. 
    chart1.set_style(10) 
    #Insert the chart into the worksheet (with an offset). 
    worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10}) 

merci d'avance. L'image montre la sortie: enter image description here

Répondre

1

Cela devrait fonctionner. Voici un exemple avec un échantillon de données:

import xlsxwriter 

def draw_simultaneously_busy_cores(type_of_chart, data, workbook): 

    worksheet = workbook.add_worksheet('simultaneously_busy_cores') 
    bold = workbook.add_format({'bold': 1}) 
    worksheet.write_column('A1', data, bold) 
    worksheet.write_column('B1', data) 

    chart1 = workbook.add_chart({'type': type_of_chart}) 

    chart1.add_series({ 
     'name':  'Simultaneous Busy Cores', 
     'categories': '=simultaneously_busy_cores!$A$1:$A$8', 
     'values':  '=simultaneously_busy_cores!$B$1:$B$8', 
     }) 

    #Add a title. 
    chart1.set_title({'name': 'Simultaneous Busy Cores'}) 

    #Set an Excel chart style. Colors with white outline and shadow. 
    chart1.set_style(10) 

    #Insert the chart into the worksheet (with an offset). 
    worksheet.insert_chart('C2', chart1, {'x_offset': 25, 'y_offset': 10}) 


workbook = xlsxwriter.Workbook('test.xlsx') 

data = [0, 1, 2, 3, 4, 5, 6, 7]  
draw_simultaneously_busy_cores('line', data, workbook) 

workbook.close() 

Sortie: enter image description here

Le tableau categories et values syntaxe dans votre exemple est incorrect. Vous mélangez les syntaxes de liste et de chaîne. Lisez à nouveau la documentation et les exemples.

+0

ouais ne sais pas comment j'ai mélangé la syntaxe pour la liste et la chaîne .. n'a pas été en mesure de l'attraper en quelque sorte, merci !!! – R2D2