إنشاء وإدارة الرسم البياني
إنشاء الرسوم البيانية
ببساطة إنشاء رسم بياني
من السهل إنشاء رسم بياني باستخدام Aspose.Cells لبايثون via .NET مع الأمثلة التالية على الرموز:
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Obtaining the reference of the first worksheet | |
worksheet = workbook.worksheets[0] | |
# Adding sample values to cells | |
worksheet.cells.get("A2").put_value("Category1") | |
worksheet.cells.get("A3").put_value("Category2") | |
worksheet.cells.get("A4").put_value("Category3") | |
worksheet.cells.get("B1").put_value("Column1") | |
worksheet.cells.get("B2").put_value(4) | |
worksheet.cells.get("B3").put_value(20) | |
worksheet.cells.get("B4").put_value(50) | |
worksheet.cells.get("C1").put_value("Column2") | |
worksheet.cells.get("C2").put_value(50) | |
worksheet.cells.get("C3").put_value(100) | |
worksheet.cells.get("C4").put_value(150) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.COLUMN, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Setting chart data source as the range "A1:C4" | |
chart.set_chart_data_range("A1:C4", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
الأشياء التي يجب معرفتها لإنشاء مخطط
قبل إنشاء الرسوم البيانية، من المهم فهم بعض المفاهيم الأساسية التي تساعد عند إنشاء الرسوم باستخدام Aspose.Cells لبايثون via .NET.
كائنات المخطط
يوفر Aspose.Cells لبايثون via .NET مجموعة خاصة من الفئات في مساحة الأسماء Aspose.Cells.Charts تُستخدم لإنشاء الرسوم المدعومة بواسطة Aspose.Cells لبايثون via .NET. تُستخدم هذه الفئات لإنشاء كائنات الرسم البياني، التي تعمل كعناصر بناء الرسوم. تُدرج كائنات الرسم البياني أدناه:
- Series، سلسلة بيانات واحدة في المخطط.
- Axis، محور المخطط.
- Chart، مخطط Excel واحد.
- ChartArea، منطقة المخطط في ورقة العمل.
- ChartDataTable، جدول بيانات المخطط.
- ChartFrame، كائن الإطار في المخطط.
- ChartPoint، نقطة واحدة في سلسلة في المخطط.
- ChartPointCollection، مجموعة تحتوي على جميع النقاط في سلسلة واحدة.
- Charts، مجموعة من كائنات المخطط.
- DataLabels، مجموعة من جميع كائنات DataLabel للسلسلة المحددة.
- FillFormat، تنسيق الملء للشكل.
- Floor، الطابق لمخطط ثلاثي الأبعاد.
- Legend، وسام المخطط.
- Line، خط المخطط.
- SeriesCollection، مجموعة من كائنات Series.
- تسميات العلامات، علامات العلامة المرتبطة بعلامات ضبط على محور الرسم البياني.
- العنوان، عنوان الرسم البياني أو المحور.
- خط الاتجاه، خط اتجاه في الرسم البياني.
- مجموعة خطوط الاتجاه، مجموعة من جميع كائنات خط الاتجاه لسلسلة البيانات المحددة.
- الجدران، الجدران في رسم بياني ثلاثي الأبعاد.
استخدام كائنات الرسم البياني
كما ذكر أعلاه، جميع كائنات الرسم البياني هي حالات من فئاتها الخاصة وتوفر خصائص وأساليب محددة لأداء مهام محددة. استخدم كائنات الرسم البياني لإنشاء رسوم بيانية.
إضافة أي نوع من الرسم البياني إلى ورقة العمل باستخدام مجموعة charts. كل عنصر في مجموعة charts يمثل كائن Chart. الكائن Chart يغلف جميع كائنات الرسم البياني الأخرى المطلوبة لتخصيص مظهر الرسم البياني. يوضح القسم التالي كيفية استخدام بعض كائنات الرسم البياني الأساسية لإنشاء رسم بياني بسيط.
إنشاء رسم بياني باستخدام Aspose.Cells لبايثون via .NET
الخطوات:
- أضف بعض البيانات إلى خلايا ورقة العمل باستخدام الطريقة put_value لكائن Cell. سيتم استخدام هذا كمصدر بيانات للرسم البياني.
- أضف رسم بياني إلى ورقة العمل عن طريق استدعاء الطريقة add لمجموعة الكائنات charts، التي تم تغليفها في الكائن Worksheet.
- حدد نوع الرسم البياني بتعداد ChartType. على سبيل المثال، يستخدم المثال أدناه القيمة ChartType.PYRAMID كنوع للرسم البياني.
- اصطحب الكائن Chart المكون حديثًا من مجموعة charts عن طريق تمرير فهرسه.
- استخدم أي من كائنات الرسم البياني المغلفة في الكائن Chart لإدارة الرسم البياني. يستخدم المثال أدناه كائن الرسم البياني SeriesCollection لتحديد مصدر بيانات الرسم البياني.
عند إضافة بيانات المصدر إلى الرسم البياني، يمكن أن يكون مصدر البيانات مجموعة من الخلايا (مثل “A1:C3”)، أو تسلسل من الخلايا غير المتصلة (مثل “A1، A3، A5”)، أو تسلسل من القيم (مثل “1،2،3”).
تتيح لك هذه الخطوات العامة إنشاء أي نوع من الرسم البياني. استخدم كائنات الرسم البياني المختلفة لإنشاء رسوم بيانية مختلفة.
من الممكن إنشاء العديد من أنواع الرسوم البيانية باستخدام Aspose.Cells لبايثون via .NET. جميع الرسوم البيانية القياسية المدعومة بواسطة Aspose.Cells لبايثون via .NET محددة مسبقًا في تعداد يسمى Aspose.Cells.Charts.ChartType.
تخطيطات الرسوم البيانية المحددة مسبقًا هي:
أنواع الرسوم البيانية | الوصف |
---|---|
Column | يمثل مخطط الأعمدة المتجانبة |
ColumnStacked | يمثل مخطط الأعمدة المكدسة |
Column100PercentStacked | يمثل مخطط الأعمدة المكدسة بنسبة 100% |
Column3DClustered | يمثل مخطط الأعمدة المتجانبة ثلاثي الأبعاد |
Column3DStacked | يمثل مخطط الأعمدة المكدسة ثلاثي الأبعاد |
Column3D100PercentStacked | يمثل مخطط الأعمدة المكدسة بنسبة 100% ثلاثي الأبعاد |
Column3D | يمثل مخطط الأعمدة ثلاثي الأبعاد |
Bar | يمثل مخطط الأعمدة المتجانبة الأفقية |
BarStacked | يمثل مخطط الأعمدة المكدسة الأفقية |
Bar100PercentStacked | يمثل مخطط الأعمدة المكدسة بنسبة 100% الأفقية |
Bar3DClustered | يمثل مخطط الأعمدة المتجانبة ثلاثي الأبعاد الأفقية |
Bar3DStacked | يمثل مخطط الأعمدة المكدسة ثلاثي الأبعاد الأفقية |
Bar3D100PercentStacked | يمثل مخطط الأعمدة المكدسة بنسبة 100% ثلاثي الأبعاد الأفقية |
Line | يمثل مخطط الخطوط |
LineStacked | يمثل مخطط الخطوط المكدسة |
Line100PercentStacked | يمثل مخطط الخطوط المكدسة بنسبة 100% |
LineWithDataMarkers | يمثل مخطط الخط مع علامات البيانات |
LineStackedWithDataMarkers | تمثل مخطط خطوط مكدسة مع علامات البيانات |
Line100PercentStackedWithDataMarkers | تمثل مخطط خطوط مكدسة 100% مع علامات البيانات |
Line3D | تمثل مخطط خطوط ثلاثي الأبعاد |
Pie | تمثل مخطط دائري |
Pie3D | تمثل مخطط دائري ثلاثي الأبعاد |
PiePie | تمثل مخطط دائري فوق الدائرة |
PieExploded | تمثل مخطط دائري منفجر |
Pie3DExploded | تمثل مخطط دائري منفجر ثلاثي الأبعاد |
PieBar | تمثل مخطط بارز فوق القطعة من البيتزا |
Scatter | تمثل مخطط النقاط |
ScatterConnectedByCurvesWithDataMarker | تمثل مخطط النقاط متصلة بالخطوط المنحنية، مع علامات البيانات |
ScatterConnectedByCurvesWithoutDataMarker | تمثل مخطط النقاط متصلة بالخطوط المنحنية، بدون علامات البيانات |
ScatterConnectedByLinesWithDataMarker | تمثل مخطط النقاط متصلة بخطوط، مع علامات البيانات |
ScatterConnectedByLinesWithoutDataMarker | تمثل مخطط النقاط متصلة بخطوط، بدون علامات البيانات |
Area | تمثل مخطط المساحة |
AreaStacked | تمثل مخطط المساحة المكدسة |
Area100PercentStacked | تمثل مخطط المساحة المكدسة 100% |
Area3D | تمثل مخطط المساحة ثلاثي الأبعاد |
Area3DStacked | تمثل مخطط المساحة المكدسة ثلاثي الأبعاد |
Area3D100PercentStacked | تمثل مخطط المساحة المكدسة 100% ثلاثي الأبعاد |
Doughnut | يمثل مخطط الدونات |
DoughnutExploded | يمثل مخطط الدونات المتفجر |
Radar | يمثل مخطط الرادار |
RadarWithDataMarkers | يمثل مخطط الرادار مع علامات البيانات |
RadarFilled | يمثل مخطط الرادار المملوء |
Surface3D | يمثل مخطط السطح ثلاثي الأبعاد |
SurfaceWireframe3D | يمثل مخطط سطح ثلاثي الأبعاد بالأسلاك |
SurfaceContour | يمثل مخطط التكهف |
SurfaceContourWireframe | يمثل مخطط التكهف بالأسلاك |
Bubble | يمثل مخطط الفقاعات |
Bubble3D | يمثل مخطط الفقاعات ثلاثي الأبعاد |
Cylinder | يمثل مخطط الأسطوانة |
CylinderStacked | يمثل مخطط الأسطوانة المكدسة |
Cylinder100PercentStacked | يمثل المخطط الأسطواني المكدس بنسبة 100٪ |
CylindericalBar | يمثل مخطط الأعمدة الأسطوانية |
CylindericalBarStacked | يمثل مخطط الأعمدة الأسطوانية المكدسة |
CylindericalBar100PercentStacked | يمثل المخطط الأسطواني المكدس بنسبة 100٪ |
CylindericalColumn3D | يمثل مخطط الأعمدة الأسطوانية ثلاثي الأبعاد |
Cone | يمثل مخطط المخروط |
ConeStacked | يمثل مخطط المخروط المكدس |
Cone100PercentStacked | يمثل 100% حجم الرسم البياني المكدس المخروطي |
ConicalBar | يمثل رسم بياني شريطي مخروطي |
ConicalBarStacked | يمثل رسم بياني شريطي مكدس مخروطي |
ConicalBar100PercentStacked | يمثل رسم بياني شريطي مخروطي مكدس بنسبة 100% |
ConicalColumn3D | يمثل رسم بياني أعمدة مخروطي ثلاثي الأبعاد |
Pyramid | يمثل رسم بياني الهرم |
PyramidStacked | يمثل رسم بياني الهرم المكدس |
Pyramid100PercentStacked | يمثل رسم بياني الهرم المكدس بنسبة 100% |
PyramidBar | يمثل رسم بياني شريطي هرمي |
PyramidBarStacked | يمثل رسم بياني شريطي هرمي مكدس |
PyramidBar100PercentStacked | يمثل رسم بياني شريطي هرمي مكدس بنسبة 100% |
PyramidColumn3D | يمثل رسم بياني أعمدة هرمي ثلاثي الأبعاد |
عندما تُسند نطاقًا من الخلايا كمصدر للبيانات، يمكنك تعيين النطاق فقط من الزاوية العلوية اليسرى إلى الزاوية السفلى اليمنى. على سبيل المثال، “A1:C3” صالح بينما “C3:A1” غير صالح.
|
رسم بياني الهرم
عند تنفيذ الشيفرة المرجعية، يتم إضافة رسم بياني للهرم إلى ورقة العمل.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.PYRAMID, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
رسم بياني خطي
في المثال أعلاه، ببساطة تغيير ChartType إلى Line يُنشئ رسم بياني خطي. يتم توفير المصدر الكامل أدناه. عند تنفيذ الشيفرة، يتم إضافة رسم بياني خطي إلى ورقة العمل.
from aspose.cells import Workbook | |
from aspose.cells.charts import ChartType | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding sample values to cells | |
worksheet.cells.get("A1").put_value(50) | |
worksheet.cells.get("A2").put_value(100) | |
worksheet.cells.get("A3").put_value(150) | |
worksheet.cells.get("B1").put_value(4) | |
worksheet.cells.get("B2").put_value(20) | |
worksheet.cells.get("B3").put_value(50) | |
# Adding a chart to the worksheet | |
chartIndex = worksheet.charts.add(ChartType.LINE, 5, 0, 15, 5) | |
# Accessing the instance of the newly added chart | |
chart = worksheet.charts[chartIndex] | |
# Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.n_series.add("A1:B3", True) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
رسم بياني فقاعي
لإنشاء رسم بياني فقاعي، يجب تعيين ChartType إلى ChartType.BUBBLE وضبط خصائص إضافية بمثابة BubbleSizes, Values & XValues وفقًا لذلك. عند تنفيذ الشيفرة التالية، يتم إضافة رسم بياني فقاعي إلى ورقة العمل.
رسم بياني خطي بمؤشرات البيانات
لإنشاء خط برسم بياني البيانات، يجب ضبط ChartType على ChartType.LineWithDataMarkers ويجب ضبط بعض الخصائص الإضافية مثل منطقة الخلفية، علامات السلاسل، القيم والقيم السينية وفقًا لذلك. عند تنفيذ الشفرة التالية، يتم إضافة خط برسم بياني البيانات إلى ورقة العمل.
from aspose.cells import SaveFormat, Workbook | |
from aspose.cells.charts import ChartType, FormattingType | |
from aspose.pydrawing import Color | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Instantiate a workbook | |
workbook = Workbook() | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Set columns title | |
worksheet.cells.get(0, 0).value = "X" | |
worksheet.cells.get(0, 1).value = "Y" | |
# Create random data and save in the cells | |
for i in range(1, 21): | |
worksheet.cells.get(i, 0).value = i | |
worksheet.cells.get(i, 1).value = 0.8 | |
for i in range(21, 41): | |
worksheet.cells.get(i, 0).value = i - 20 | |
worksheet.cells.get(i, 1).value = 0.9 | |
# Add a chart to the worksheet | |
idx = worksheet.charts.add(ChartType.LINE_WITH_DATA_MARKERS, 1, 3, 20, 20) | |
# Access the newly created chart | |
chart = worksheet.charts[idx] | |
# Set chart style | |
chart.style = 3 | |
# Set autoscaling value to true | |
chart.auto_scaling = True | |
# Set foreground color white | |
chart.plot_area.area.foreground_color = Color.white | |
# Set Properties of chart title | |
chart.title.text = "Sample Chart" | |
# Set chart type | |
chart.type = ChartType.LINE_WITH_DATA_MARKERS | |
# Set Properties of categoryaxis title | |
chart.category_axis.title.text = "Units" | |
# Set Properties of nseries | |
s2_idx = chart.n_series.add("A2: A2", True) | |
s3_idx = chart.n_series.add("A22: A22", True) | |
# Set IsColorVaried to true for varied points color | |
chart.n_series.is_color_varied = True | |
# Set properties of background area and series markers | |
chart.n_series[s2_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s2_idx].marker.area.foreground_color = Color.yellow | |
chart.n_series[s2_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s2_idx].x_values = "A2: A21" | |
chart.n_series[s2_idx].values = "B2: B21" | |
# Set properties of background area and series markers | |
chart.n_series[s3_idx].area.formatting = FormattingType.CUSTOM | |
chart.n_series[s3_idx].marker.area.foreground_color = Color.green | |
chart.n_series[s3_idx].marker.border.is_visible = False | |
# Set X and Y values of series chart | |
chart.n_series[s3_idx].x_values = "A22: A41" | |
chart.n_series[s3_idx].values = "B22: B41" | |
# Save the workbook | |
workbook.save(outputDir + r"LineWithDataMarkerChart.xlsx", SaveFormat.XLSX) |
مواضيع متقدمة
- قراءة وتلاعب شكل بيانات Excel 2016
- إدارة محاور مخططات Excel
- ضبط مظهر الرسم البياني
- أنواع المخططات
- تخصيص المخططات
- تعيين مصدر البيانات للمخطط
- إدارة تسميات البيانات في مخططات Excel
- إنشاء مخطط بمعالجة العلامات الذكية
- الحصول على ورقة العمل من المخطط
- إدارة الأسطورة في مخططات Excel
- تلاعب بموقع وحجم وتصميم المخطط
- إنشاء مخطط دائري مع خطوط قيادة
- الأشكال في المخططات
- إدارة عناوين مخططات Excel
- عرض الرسم البياني
- الحصول على نص المعادلة لخط اتجاه المخطط