Arbeiten mit Diagrammen
Der DocumentBuilder-Klasse wurde eine neue insert_chart-Methode hinzugefügt. Sehen wir uns also an, wie man mithilfe der DocumentBuilder.insert_chart-Methode ein einfaches Säulendiagramm in das Dokument einfügt:
So fügen Sie ein Diagramm ein
In diesem Abschnitt erfahren Sie, wie Sie ein Diagramm in ein Dokument einfügen.
Säulendiagramm einfügen
Das folgende Codebeispiel zeigt, wie man ein Säulendiagramm einfügt:
Der Code erzeugt das folgende Ergebnis:
Es gibt add-, add_double- und add_date-Methoden, die alle möglichen Varianten von Datenquellen für alle Diagrammtypen abdecken:
Der Code erzeugt das folgende Ergebnis:
Streudiagramm einfügen
Das folgende Beispiel zeigt, wie ein Streudiagramm eingefügt wird.
Der Code erzeugt das folgende Ergebnis:
Flächendiagramm einfügen
Das folgende Codebeispiel zeigt, wie ein Flächendiagramm eingefügt wird:
Der Code erzeugt das folgende Ergebnis:
Blasendiagramm einfügen
Das folgende Codebeispiel zeigt, wie man ein Blasendiagramm einfügt:
Der Code erzeugt das folgende Ergebnis:
Arbeiten mit Diagrammen über das Shape.chart-Objekt
Sobald das Diagramm eingefügt und mit Daten gefüllt wurde, können Sie sein Erscheinungsbild ändern. Die Shape.chart-Eigenschaft enthält alle diagrammbezogenen Optionen, die über das öffentliche API verfügbar sind.
Lassen Sie uns beispielsweise das Verhalten von Chart-Titeln oder -Legenden ändern:
Der Code generiert die folgenden Ergebnisse:
So arbeiten Sie mit ChartSeriesCollection of Chart
Schauen wir uns die ChartSeries-Sammlung an. Alle Diagrammserien sind über die Chart.series-Sammlung verfügbar:
Sie können Serien einzeln oder alle löschen und bei Bedarf eine neue hinzufügen. Dem neu eingefügten Diagramm wurden dieser Sammlung einige Standardreihen hinzugefügt. Um sie zu entfernen, müssen Sie die chart.series.clear()-Methode aufrufen.
Arbeiten mit der Single ChartSeries-Klasse
Hier erfahren Sie, wie Sie mit einer bestimmten Serie arbeiten.
Bitte sehen Sie sich das Ergebnis unten an:
Alle einzelnen ChartSeries-Dateien verfügen über standardmäßige ChartDataPoint-Optionen. Versuchen Sie bitte, diese mit dem folgenden Code zu ändern:
Bitte sehen Sie sich das Ergebnis unten an:
So arbeiten Sie mit einem einzelnen ChartDataPoint eines ChartSeries
Mit ChartDataPoint können Sie die Formatierung eines einzelnen Datenpunkts der Diagrammreihe anpassen:
Bitte sehen Sie sich das Ergebnis unten an:
So arbeiten Sie mit ChartDataLabel einer einzelnen ChartSeries
Mit ChartDataLabel können Sie die Formatierung einer einzelnen Datenbeschriftung der Diagrammreihe festlegen, z. B. LegendKey, CategoryName, SeriesName, Value usw. ein-/ausblenden.
Bitte sehen Sie sich das Ergebnis unten an:
So definieren Sie Standardoptionen für ChartDataLabels von ChartSeries
Die ChartDataLabelCollection-Klasse definiert Eigenschaften, die zum Festlegen von Standardoptionen für ChartDataLabels für Diagrammreihen verwendet werden können. Zu diesen Eigenschaften gehören show_category_name, show_bubble_size, show_percentage, show_series_name, show_value usw.
Bitte sehen Sie sich das Ergebnis unten an:
So formatieren Sie die Nummer der Diagrammdatenbeschriftung
Mit ChartDataLabel.number_format können Sie die Zahlenformatierung einer einzelnen Datenbeschriftung des Diagramms festlegen.
Das folgende Codebeispiel zeigt, wie eine Nummer der Datenbeschriftung formatiert wird:
So legen Sie die Eigenschaften der Diagrammachse fest
Wenn Sie mit Diagrammachsen, Skalierungen und Anzeigeeinheiten für die Werteachse arbeiten möchten, verwenden Sie bitte die Klassen ChartAxis, AxisDisplayUnit und AxisScaling.
Das folgende Codebeispiel zeigt, wie X- und Y-Achseneigenschaften definiert werden:
So legen Sie den Date-Zeitwert der Achse fest
Das folgende Codebeispiel zeigt, wie Datums-/Uhrzeitwerte für Achseneigenschaften festgelegt werden:
So formatieren Sie den Zahlenwert einer Achse
Das folgende Codebeispiel zeigt, wie Sie das Format von Zahlen auf der Werteachse ändern:
So legen Sie Achsengrenzen fest
Die AxisBound-Klasse stellt eine minimale oder maximale Grenze von Achsenwerten dar. Bound kann als numerischer Wert, Datum-Uhrzeit-Wert oder spezieller “Auto”-Wert angegeben werden.
Das folgende Codebeispiel zeigt, wie Grenzen einer Achse festgelegt werden:
So legen Sie die Intervalleinheit zwischen Etiketten fest
Das folgende Codebeispiel zeigt, wie die Intervalleinheit zwischen Beschriftungen auf einer Achse festgelegt wird:
So blenden Sie die Diagrammachse aus
Wenn Sie die Diagrammachse ein- oder ausblenden möchten, können Sie dies einfach erreichen, indem Sie den Wert der ChartAxis.hidden-Eigenschaft festlegen.
Das folgende Codebeispiel zeigt, wie Sie die Y-Achse des Diagramms ausblenden:
So richten Sie die Diagrammbeschriftung aus
Wenn Sie eine Textausrichtung für mehrzeilige Etiketten festlegen möchten, können Sie dies einfach erreichen, indem Sie den Wert der ChartAxis.tick_label_alignment-Eigenschaft festlegen.
Das folgende Codebeispiel zeigt, wie die Beschriftungsausrichtung aktiviert wird:
So legen Sie die Füll- und Strichformatierung fest
Füll- und Strichformatierungen können für Diagrammreihen, Datenpunkte und Markierungen festgelegt werden. Dazu müssen Sie die Eigenschaften des ChartFormat-Typs in den ChartSeries-, ChartDataPoint- und ChartMarker-Klassen sowie Aliase für einige Eigenschaften wie fore_color, back_color, visible und transparency in der Stroke-Klasse verwenden.
Das folgende Codebeispiel zeigt, wie die Serienfarbe festgelegt wird:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252)
chart = shape.chart
seriesColl = chart.series
# Delete default generated series.
seriesColl.clear()
# Create category names array.
categories = [ "AW Category 1", "AW Category 2" ]
# Adding new series. Value and category arrays must be the same size.
series1 = seriesColl.add("AW Series 1", categories, [ 1, 2 ])
series2 = seriesColl.add("AW Series 2", categories, [ 3, 4 ])
series3 = seriesColl.add("AW Series 3", categories, [ 5, 6 ])
# Set series color.
series1.format.fill.fore_color = drawing.Color.red
series2.format.fill.fore_color = drawing.Color.yellow
series3.format.fill.fore_color = drawing.Color.blue
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.set_series_color.docx")
Das folgende Codebeispiel zeigt, wie Linienfarbe und -stärke festgelegt werden:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252)
chart = shape.chart
seriesColl = chart.series
# Delete default generated series.
seriesColl.clear()
# Adding new series.
series1 = seriesColl.add_double("AW Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ])
series2 = seriesColl.add_double("AW Series 2", [ 0.5, 1.5, 2.5 ], [ 3, 1, 2 ])
# Set series color.
series1.format.stroke.fore_color = drawing.Color.red
series1.format.stroke.weight = 5
series2.format.stroke.fore_color = drawing.Color.light_green
series2.format.stroke.weight = 5
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.line_color_and_weight.docx")