עבודה עם Charts
חדש חדש חדש insert_chart השיטה נוספה DocumentBuilder מעמד. אז בואו נראה כיצד להכניס תרשים טור פשוט לתוך המסמך באמצעות DocumentBuilder.insert_chart שיטה:
כיצד להכניס טבלה
בסעיף זה נלמד כיצד להכניס תרשים למסמך.
תגית: Chart
הדוגמה הבאה של הקוד מראה כיצד להוסיף תרשים עמודה:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
# You can specify different chart types and sizes. | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
seriesColl = chart.series | |
print(seriesColl.count) | |
# Delete default generated series. | |
seriesColl.clear() | |
# Create category names array, in this example we have two categories. | |
categories = [ "Category 1", "Category 2" ] | |
# Please note, data arrays must not be empty and arrays must be the same size. | |
seriesColl.add("Aspose Series 1", categories, [ 1, 2 ]) | |
seriesColl.add("Aspose Series 2", categories, [ 3, 4 ]) | |
seriesColl.add("Aspose Series 3", categories, [ 5, 6 ]) | |
seriesColl.add("Aspose Series 4", categories, [ 7, 8 ]) | |
seriesColl.add("Aspose Series 5", categories, [ 9, 10 ]) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.insert_simple_column_chart.docx") |
הקוד יוצר את התוצאה הבאה:
יש add, add_double ו add_date שיטות, שנחשפו כדי לכסות את כל הגרסאות האפשריות של מקורות נתונים לכל סוגי הטבלה:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.add("Aspose Series 1", [ "Category 1", "Category 2" ], [ 1, 2 ]) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.insert_column_chart.docx") |
הקוד יוצר את התוצאה הבאה:
הכנס Scחומר טבלה
להלן דוגמאות כיצד להוסיף תרשים פיזור.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.SCATTER, 432, 252) | |
chart = shape.chart | |
chart.series.add_double("Aspose Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ]) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.insert_scatter_chart.docx") |
הקוד יוצר את התוצאה הבאה:
אזור טבלה
לדוגמה הקוד הבא מראה כיצד להוסיף תרשים שטח:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.AREA, 432, 252) | |
chart = shape.chart | |
chart.series.add_date("Aspose Series 1", | |
[ date(2002, 5, 1), date(2002, 6, 1), date(2002, 7, 1), date(2002, 8, 1), date(2002, 9, 1) ], | |
[ 32, 32, 28, 12, 15 ]) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.insert_area_chart.docx") |
הקוד יוצר את התוצאה הבאה:
תגית: Bubble Chart
הדוגמה הבאה של הקוד מראה כיצד להכניס תרשים בועות:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.BUBBLE, 432, 252) | |
chart = shape.chart | |
chart.series.add("Aspose Series 1", [ 0.7, 1.8, 2.6 ], [ 2.7, 3.2, 0.8 ], [ 10, 4, 8 ]) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.insert_bubble_chart.docx") |
הקוד יוצר את התוצאה הבאה:
עבודה עם תרשימים באמצעות Shape.chart Object
לאחר שהטבלה הוחדרה ומלאה בנתונים, אתה יכול לשנות את המראה שלה. Shape.chart הנכס מכיל את כל האפשרויות הקשורות לטבלה הזמינות באמצעות הציבור API.
לדוגמה, בואו לשנות Chart שם או אגדה התנהגות:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252) | |
chart = shape.chart | |
chart.title.show = True | |
chart.title.text = "Line Chart Title" | |
chart.title.overlay = False | |
# Please note if None or empty value is specified as title text, auto generated title will be shown. | |
chart.legend.position = aw.drawing.charts.LegendPosition.LEFT | |
chart.legend.overlay = True | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.create_chart_using_shape.docx") |
הקוד יוצר את התוצאות הבאות:
כיצד לעבוד עם ChartSeriesCollection of Chart
בואו נסתכל ChartSeries אוסף. כל סדרות הטבלה זמינות באמצעות Chart.series אוסף:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
seriesColl = chart.series | |
print(seriesColl.count) |
אתה יכול להסיר סדרה אחת או לנקות את כולם, כמו גם להוסיף אחד חדש במידת הצורך. בתרשים המוכנס החדש יש כמה סדרות ברירת מחדל נוספות לאוסף זה. כדי להסיר אותם אתה צריך להתקשר chart.series.clear() שיטה.
עבודה עם Single ChartSeries Class
הנה איך לעבוד עם סדרה מסוימת.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
series0 = chart.series[0] | |
series1 = chart.series[1] | |
series0.name = "Chart Series Name 1" | |
series1.name = "Chart Series Name 2" | |
# You can also specify whether the line connecting the points on the chart shall be smoothed using Catmull-Rom splines. | |
series0.smooth = True | |
series1.smooth = True |
ראה את התוצאה למטה:
הכל רווק ChartSeries כברירת מחדל ChartDataPoint אפשרויות, אנא נסה להשתמש בקוד הבא כדי לשנות אותם:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
# Specifies whether by default the parent element shall inverts its colors if the value is negative. | |
series0.invert_if_negative = True | |
series0.marker.symbol = aw.drawing.charts.MarkerSymbol.CIRCLE | |
series0.marker.size = 15 | |
series1.marker.symbol = aw.drawing.charts.MarkerSymbol.STAR | |
series1.marker.size = 10 |
ראה את התוצאה למטה:
כיצד לעבוד עם נקודת נתונים בודדת ChartSeries
שימוש ChartDataPoint אתה יכול להתאים אישית את פורמט של נקודת נתונים אחת של סדרת תרשים:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252) | |
chart = shape.chart | |
series0 = chart.series[0] | |
series1 = chart.series[1] | |
dataPointCollection = series0.data_points | |
dataPoint00 = dataPointCollection[0] | |
dataPoint01 = dataPointCollection[1] | |
dataPoint00.explosion = 50 | |
dataPoint00.marker.symbol = aw.drawing.charts.MarkerSymbol.CIRCLE | |
dataPoint00.marker.size = 15 | |
dataPoint01.marker.symbol = aw.drawing.charts.MarkerSymbol.DIAMOND | |
dataPoint01.marker.size = 20 | |
dataPoint12 = series1.data_points[2] | |
dataPoint12.invert_if_negative = True | |
dataPoint12.marker.symbol = aw.drawing.charts.MarkerSymbol.STAR | |
dataPoint12.marker.size = 20 | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.single_chart_data_point.docx") |
ראה את התוצאה למטה:
כיצד לעבוד עם ChartDataLabel של טבלה אחת
שימוש ChartDataLabel אתה יכול לציין את הפורמט של תווית נתונים אחת של סדרת התרשים, כמו show /hide LegendKey, Category שם, סדרה, ערך וכו ‘.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.BAR, 432, 252) | |
chart = shape.chart | |
series0 = shape.chart.series[0] | |
labels = series0.data_labels | |
labels.show_legend_key = True | |
# By default, when you add data labels to the data points in a pie chart, leader lines are displayed for data labels that are | |
# positioned far outside the end of data points. Leader lines create a visual connection between a data label and its | |
# corresponding data point. | |
labels.show_leader_lines = True | |
labels.show_category_name = False | |
labels.show_percentage = False | |
labels.show_series_name = True | |
labels.show_value = True | |
labels.separator = "/" | |
labels.show_value = True | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.chart_data_label.docx") |
ראה את התוצאה למטה:
כיצד Define Default Options for ChartDataLabels of ChartSeries
The The The ChartDataLabelCollection מחלקה מגדיר תכונות שניתן להשתמש כדי להגדיר אפשרויות ברירת מחדל עבור ChartDataLabels עבור Chart Series. תכונות אלה כוללות show_category_name, show_bubble_size, show_percentage, show_series_name, show_value וכו’.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.PIE, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
series = chart.series.add("Aspose Series 1", | |
[ "Category 1", "Category 2", "Category 3" ], | |
[ 2.7, 3.2, 0.8 ]) | |
labels = series.data_labels | |
labels.show_percentage = True | |
labels.show_value = True | |
labels.show_leader_lines = False | |
labels.separator = " - " | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.default_options_for_data_labels.docx") |
ראה את התוצאה למטה:
כיצד לעצב מספר של תרשים נתונים
שימוש ChartDataLabel.number_format אתה יכול לציין פורמט מספר של תווית נתונים אחת של התרשים.
לדוגמה הקוד הבא מראה כיצד לעצב מספר של תווית הנתונים:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.LINE, 432, 252) | |
chart = shape.chart | |
chart.title.text = "Data Labels With Different Number Format" | |
# Delete default generated series. | |
chart.series.clear() | |
series1 = chart.series.add("Aspose Series 1", [ "Category 1", "Category 2", "Category 3" ], [ 2.5, 1.5, 3.5 ]) | |
series1.has_data_labels = True | |
series1.data_labels.show_value = True | |
series1.data_labels[0].number_format.format_code = "\"$\"#,##0.00" | |
series1.data_labels[1].number_format.format_code = "dd/mm/yyyy" | |
series1.data_labels[2].number_format.format_code = "0.00%" | |
# Or you can set format code to be linked to a source cell, | |
# in this case NumberFormat will be reset to general and inherited from a source cell. | |
series1.data_labels[2].number_format.is_linked_to_source = True | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.format_number_of_data_label.docx") |
כיצד להגדיר את שאר הנכסים
אם אתה רוצה לעבוד עם ציר תרשים, קנה מידה, ולהציג יחידות עבור ציר הערך, אנא השתמש ChartAxis, AxisDisplayUnit, ו AxisScaling שיעורים.
הדוגמה הבאה של הקוד מראה כיצד להגדיר תכונות X ו- Y-axis:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
# Insert chart | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.AREA, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add_date("Aspose Series 1", | |
[ date(2002, 1, 1), date(2002, 6, 1), date(2002, 7, 1), date(2002, 8, 1), date(2002, 9, 1) ], | |
[ 640, 320, 280, 120, 150 ]) | |
xAxis = chart.axis_x | |
yAxis = chart.axis_y | |
# Change the X axis to be category instead of date, so all the points will be put with equal interval on the X axis. | |
xAxis.category_type = aw.drawing.charts.AxisCategoryType.CATEGORY | |
xAxis.crosses = aw.drawing.charts.AxisCrosses.CUSTOM | |
xAxis.crosses_at = 3 # Measured in display units of the Y axis (hundreds). | |
xAxis.reverse_order = True | |
xAxis.major_tick_mark = aw.drawing.charts.AxisTickMark.CROSS | |
xAxis.minor_tick_mark = aw.drawing.charts.AxisTickMark.OUTSIDE | |
xAxis.tick_label_offset = 200 | |
yAxis.tick_label_position = aw.drawing.charts.AxisTickLabelPosition.HIGH | |
yAxis.major_unit = 100 | |
yAxis.minor_unit = 50 | |
yAxis.display_unit.unit = aw.drawing.charts.AxisBuiltInUnit.HUNDREDS | |
yAxis.scaling.minimum = aw.drawing.charts.AxisBound(100) | |
yAxis.scaling.maximum = aw.drawing.charts.AxisBound(700) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.define_xy_axis_properties.docx") |
כיצד להגדיר Date ערך הזמן של ציר
הדוגמה הבאה של הקוד מראה כיצד לקבוע ערכי תאריך/שעה לתכונות ציר:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add_date("Aspose Series 1", | |
[ date(2017, 11, 6), date(2017, 11, 9), date(2017, 11, 15), date(2017, 11, 21), date(2017, 11, 25), date(2017, 11, 29) ], | |
[ 1.2, 0.3, 2.1, 2.9, 4.2, 5.3 ]) | |
xAxis = chart.axis_x | |
xAxis.scaling.minimum = aw.drawing.charts.AxisBound(date(2017, 11, 5)) | |
xAxis.scaling.maximum = aw.drawing.charts.AxisBound(date(2017, 12, 3)) | |
# Set major units to a week and minor units to a day. | |
xAxis.major_unit = 7 | |
xAxis.minor_unit = 1 | |
xAxis.major_tick_mark = aw.drawing.charts.AxisTickMark.CROSS | |
xAxis.minor_tick_mark = aw.drawing.charts.AxisTickMark.OUTSIDE | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.date_time_values_to_axis.docx") |
כיצד לעצב ערך מספר של ציר
לדוגמה הקוד הבא מראה כיצד לשנות את פורמט המספרים על ציר הערך:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add("Aspose Series 1", | |
[ "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" ], | |
[ 1900000, 850000, 2100000, 600000, 1500000 ]) | |
chart.axis_y.number_format.format_code = "#,##0" | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.number_format_for_axis.docx") |
כיצד להגדיר גבולות של ציר
The The The AxisBound שיעור מייצג מינימום או מקסימום ערכי ציר. Bound יכול להיות מוגדר כמספרי, זמן תאריך או ערך מיוחד “auto”.
הדוגמה הבאה של הקוד מראה כיצד להגדיר גבולות של ציר:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add("Aspose Series 1", | |
[ "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" ], | |
[ 1.2, 0.3, 2.1, 2.9, 4.2 ]) | |
chart.axis_y.scaling.minimum = aw.drawing.charts.AxisBound(0) | |
chart.axis_y.scaling.maximum = aw.drawing.charts.AxisBound(6) | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.bounds_of_axis.docx") |
כיצד להגדיר יחידת אינטרוול בין תוויות
הדוגמה הבאה של הקוד מראה כיצד להגדיר את יחידת המרווח בין תוויות בציר:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add("Aspose Series 1", | |
[ "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" ], | |
[ 1.2, 0.3, 2.1, 2.9, 4.2 ]) | |
chart.axis_x.tick_label_spacing = 2 | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.interval_unit_between_labels_on_axis.docx") |
איך להגות Chart
אם אתה רוצה להראות או להסתיר את ציר התרשים, אתה יכול פשוט להשיג את זה על ידי הגדרת הערך של ChartAxis.hidden רכוש.
הדוגמה הקודית הבאה מראה כיצד להסתיר את Y-axis של התרשים:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.COLUMN, 432, 252) | |
chart = shape.chart | |
chart.series.clear() | |
chart.series.add("Aspose Series 1", | |
[ "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" ], | |
[ 1.2, 0.3, 2.1, 2.9, 4.2 ]) | |
chart.axis_y.hidden = True | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.hide_chart_axis.docx") |
איך להגות Align Chart
אם אתה רוצה להגדיר היערכות טקסט עבור תוויות מרובות באינטרנט, אתה יכול פשוט להשיג את זה על ידי הגדרת הערך של ChartAxis.tick_label_alignment רכוש.
הדוגמה הבאה של הקוד מראה כיצד לתכנת תוויות:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
shape = builder.insert_chart(aw.drawing.charts.ChartType.SCATTER, 450, 250) | |
axis = shape.chart.axis_x | |
# This property has effect only for multi-line labels. | |
axis.tick_label_alignment = aw.ParagraphAlignment.RIGHT | |
doc.save(docs_base.artifacts_dir + "WorkingWithCharts.tick_multi_line_label_alignment.docx") |
כיצד להגדיר Fill and Stroke Format
פורמט מלא ושבץ ניתן להגדיר עבור סדרות תרשים, נקודות נתונים וסמן. כדי לעשות זאת, עליך להשתמש בתכונות של ChartFormat סוג ב ChartSeries, ChartDataPoint, ו ChartMarker שיעורים, כמו גם כינויים עבור כמה נכסים, כגון fore_color, back_color, visible, ו transparency בתוך Stroke מעמד.
דוגמה לקוד הבא מראה כיצד להגדיר צבע סדרה:
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")
דוגמה לקוד הבא מראה כיצד להגדיר צבע קו ומשקל:
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")