العمل مع الرسوم البيانية

تمت إضافة طريقة InsertChart جديدة إلى فئة DocumentBuilder. لذلك، دعونا نرى كيفية إدراج مخطط عمودي بسيط في المستند باستخدام طريقة InsertChart.

كيفية إدراج مخطط

سنتعلم في هذا القسم كيفية إدراج مخطط في مستند.

إدراج مخطط عمودي

يوضح مثال التعليمات البرمجية التالي كيفية إدراج مخطط عمودي:

الكود يعطي النتيجة التالية:

create-column-chart-aspose-words-net

هناك أربعة حمولات زائدة مختلفة لطريقة إضافة السلسلة، والتي تم عرضها لتغطية جميع المتغيرات المحتملة لمصادر البيانات لجميع أنواع المخططات:

الكود يعطي النتيجة التالية:

create-column-chart-from-datasource-aspose-words-net

إدراج مخطط مبعثر

يوضح مثال التعليمات البرمجية التالي كيفية إدراج مخطط مبعثر:

الكود يعطي النتيجة التالية:

scatter-chart-aspose-words-net

إدراج مخطط مساحي

يوضح مثال التعليمات البرمجية التالي كيفية إدراج مخطط مساحي:

الكود يعطي النتيجة التالية:

area-chart-aspose-words-net

إدراج مخطط فقاعي

يوضح مثال التعليمات البرمجية التالي كيفية إدراج مخطط فقاعي:

الكود يعطي النتيجة التالية:

bubble-chart-aspose-words-net

العمل مع المخططات من خلال كائن Shape.Chart

بمجرد إدراج المخطط وملؤه بالبيانات، يمكنك تغيير مظهره. تحتوي خاصية Shape.Chart على جميع الخيارات المتعلقة بالمخطط المتاحة من خلال API العام.

على سبيل المثال، لنغير عنوان المخطط أو سلوك وسيلة الإيضاح:

يُنشئ الكود النتائج التالية:

line-chart-aspose-words-net

كيفية العمل مع مجموعة ChartSeries من الرسم البياني

دعونا نلقي نظرة على مجموعة ChartSeries. جميع سلاسل الرسوم البيانية متاحة من خلال مجموعة chart.Series، وهي IEnumerable:

يمكنك إزالة السلسلة واحدة تلو الأخرى أو مسحها جميعًا بالإضافة إلى إضافة سلسلة جديدة إذا لزم الأمر. يحتوي المخطط المدرج حديثًا على بعض السلاسل الافتراضية المضافة إلى هذه المجموعة. لإزالتها تحتاج إلى استدعاء طريقة مخطط.سلسلة.واضح().

العمل مع فئة ChartSeries واحدة

إليك كيفية العمل مع سلسلة معينة:

يرجى الاطلاع على النتيجة أدناه:

line-chart-chartseries-aspose-words-net

تحتوي جميع ملفات ChartSeries المنفردة على خيارات ChartDataPoint افتراضية، يرجى محاولة استخدام الكود التالي لتغييرها:

يرجى الاطلاع على النتيجة أدناه:

line-chart-chartdatapoint-aspose-words-net

كيفية العمل مع ChartDataPoint واحد لـ ChartSeries

باستخدام ChartDataPoint، يمكنك تخصيص تنسيق نقطة بيانات واحدة في سلسلة المخططات:

يرجى الاطلاع على النتيجة أدناه:

line-chart-datapoint-aspose-words-net

كيفية العمل مع ChartDataLabel لسلسلة ChartSeries واحدة

باستخدام ChartDataLabel، يمكنك تحديد تنسيق تسمية بيانات واحدة لسلسلة المخططات، مثل إظهار/إخفاء LegendKey وCategoryName وSeriesName وValue وما إلى ذلك:

يرجى الاطلاع على النتيجة أدناه:

bar-chart-aspose-words-net

كيفية تحديد الخيارات الافتراضية لـ ChartDataLabels في ChartSeries

تحدد فئة ChartDataLabelCollection الخصائص التي يمكن استخدامها لتعيين الخيارات الافتراضية لـ ChartDataLabels لـ Chart Series. تتضمن هذه الخصائص ShowCategoryName وShowBubbleSize وShowPercentage وShowSeriesName وShowValue وما إلى ذلك:

يرجى الاطلاع على النتيجة أدناه:

pie-chart-aspose-words-net

كيفية تنسيق عدد تسمية بيانات المخطط

باستخدام NumberFormat، يمكنك تحديد تنسيق الأرقام لتسمية بيانات واحدة للمخطط.

يوضح مثال التعليمات البرمجية التالي كيفية تنسيق عدد من تسمية البيانات:

كيفية تعيين خصائص محور المخطط

إذا كنت تريد العمل مع محور المخطط ووحدات القياس والعرض لمحور القيمة، فيرجى استخدام فئات ChartAxis وAxisDisplayUnit وAxisScaling.

يوضح مثال التعليمات البرمجية التالي كيفية تعريف خصائص المحور X وY:

كيفية تعيين القيمة الزمنية للمحور Date

يوضح مثال التعليمات البرمجية التالي كيفية تعيين قيم التاريخ/الوقت لخصائص المحور:

كيفية تنسيق قيمة الرقم للمحور

يوضح مثال التعليمات البرمجية التالي كيفية تغيير تنسيق الأرقام على محور القيمة:

كيفية تعيين حدود المحور

تمثل فئة AxisBound الحد الأدنى أو الأقصى لقيم المحور. يمكن تحديد المنضم كقيمة رقمية أو تاريخ/وقت أو قيمة “تلقائية” خاصة.

يوضح مثال التعليمات البرمجية التالي كيفية تعيين حدود المحور:

كيفية ضبط وحدة الفاصل الزمني بين التسميات

يوضح مثال التعليمات البرمجية التالي كيفية تعيين وحدة الفاصل الزمني بين التسميات على المحور:

كيفية إخفاء محور الرسم البياني

إذا كنت تريد إظهار أو إخفاء محور المخطط، فيمكنك ببساطة تحقيق ذلك عن طريق تعيين قيمة خاصية ChartAxis.Hidden.

يوضح مثال التعليمات البرمجية التالي كيفية إخفاء المحور Y للمخطط:

كيفية محاذاة تسمية المخطط

إذا كنت تريد تعيين محاذاة النص للتسميات متعددة الأسطر، فيمكنك ببساطة تحقيق ذلك عن طريق تعيين قيمة خاصية TickLabels.تنسيق.

يوضح مثال التعليمات البرمجية التالي كيفية تحديد محاذاة التسمية:

كيفية ضبط تنسيق التعبئة والحد

يمكن تعيين تنسيق التعبئة والحد لسلسلة المخططات ونقاط البيانات والعلامات. للقيام بذلك، تحتاج إلى استخدام خصائص نوع ChartFormat في فئات ChartSeries وChartDataPoint وChartMarker، بالإضافة إلى الأسماء المستعارة لبعض الخصائص، مثل ForeColor وBackColor وVisible وTransparency في فئة Stroke.

يوضح مثال التعليمات البرمجية التالي كيفية تعيين لون السلسلة:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Column, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Create category names array.
string[] categories = new string[] { "AW Category 1", "AW Category 2" };

// Adding new series. Value and category arrays must be the same size.
ChartSeries series1 = seriesColl.Add("AW Series 1", categories, new double[] { 1, 2 });
ChartSeries series2 = seriesColl.Add("AW Series 2", categories, new double[] { 3, 4 });
ChartSeries series3 = seriesColl.Add("AW Series 3", categories, new double[] { 5, 6 });

// Set series color.
series1.Format.Fill.ForeColor = Color.Red;
series2.Format.Fill.ForeColor = Color.Yellow;
series3.Format.Fill.ForeColor = Color.Blue;

doc.Save(dir + "ColumnColor.docx");

يوضح مثال التعليمات البرمجية التالي كيفية تعيين لون الخط ووزنه:

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

Shape shape = builder.InsertChart(ChartType.Line, 432, 252);

Chart chart = shape.Chart;
ChartSeriesCollection seriesColl = chart.Series;

// Delete default generated series.
seriesColl.Clear();

// Adding new series.
ChartSeries series1 = seriesColl.Add("AW Series 1", new double[] { 0.7, 1.8, 2.6 },
	new double[] { 2.7, 3.2, 0.8 });
ChartSeries series2 = seriesColl.Add("AW Series 2", new double[] { 0.5, 1.5, 2.5 },
	new double[] { 3, 1, 2 });

// Set series color.
series1.Format.Stroke.ForeColor = Color.Red;
series1.Format.Stroke.Weight = 5;
series2.Format.Stroke.ForeColor = Color.LightGreen;
series2.Format.Stroke.Weight = 5;

doc.Save(dir + "LineColorAndWeight.docx");