2016-09-14 12 views
1

Ich habe ein Diagramm, das Namen als Werte für die X-Achse benötigt. Ich stelle mir vor, dass dies über die Funktion set_x_axis für Diagrammobjekte erreicht wird, aber den richtigen Schlüssel in der Dokumentation nicht finden kann (http://xlsxwriter.readthedocs.io/chart.html#set_x_axis). Der folgende Code erzeugt die folgende Grafik:Kategoriale Werte auf der x-Achse mit xlsxwriter

chart = workbook.add_chart({'type':'scatter'}) 
colLetter = alphabet[1] #alphabet is list of alphabet 
for ii in range(4): 
    colLetter = alphabet[ii+1] 
    chart.add_series({ 
     'name': '=Sheet1!$%s$1'%colLetter, 
     'categories': '=Sheet1!$A$2:$A$'+str(lastRowNumber), 
     'values': '=Sheet1!$%s$2:$%s$6'%(colLetter, colLetter), 
    }) 
chart.set_title({'name': 'Cityblock'}) 
chart.set_x_axis({'name': 'Subject'}) 
chart.set_y_axis({'name': 'Distance'}) 
chart.set_style(11) 
worksheet.insert_chart('F1', chart) 

enter image description here

Irgendwelche Vorschläge? Ich benutze xlsxwriter mit Python 2.7.

Antwort

1

Legen Sie die Serienkategorien so fest, dass sie auf die Zeichenfolgen, Zahlen oder Daten zeigen, die Sie darstellen möchten.

Zum Beispiel:

import xlsxwriter 

workbook = xlsxwriter.Workbook('chart.xlsx') 
worksheet = workbook.add_worksheet() 

# Add a column chart. 
chart = workbook.add_chart({'type': 'column'}) 

# Write some data to add to plot on the chart. 
worksheet.write_column('A1', ['Bob', 'Eve', 'Ann']) 
worksheet.write_column('B1', [5, 10, 7]) 

# Configure the chart. 
chart.add_series({'categories': '=Sheet1!$A$1:$A$3', 
        'values':  '=Sheet1!$B$1:$B$3'}) 

# Insert the chart into the worksheet. 
worksheet.insert_chart('D1', chart) 

workbook.close() 

Ausgang:

enter image description here

+0

Vielen Dank für Ihre Antwort. Ich habe immer noch Probleme. Ich habe meine ursprüngliche Frage bearbeitet, um Ihnen eine bessere Vorstellung davon zu geben, was vor sich geht. Danke –

+1

Ich glaube nicht, dass Excel nicht-numerische Kategorien für ein Punktdiagramm erlaubt (wie in Ihrem aktualisierten Beispiel). Sie können versuchen, das selbst in Excel zu überprüfen. – jmcnamara

Verwandte Themen