TXLSXCharts هي مجموعة المخططات المضمّنة التي يوفّرها TXLSXWorksheet.Charts، بينما يتولّى TXLSXChart تحديد موضع المخطط ومحاوره وسلاسله
الإعلانات
function TXLSXCharts.Add: TXLSXChart; overload;
function TXLSXCharts.Add(AChartType: TXLSXChartType; const ATitle: WideString; AFromRow, AFromCol, AToRow, AToCol: Integer): TXLSXChart; overload;
function TXLSXChart.AddSeries(const AName, ACategories, AValues: WideString): TXLSXChartSeries;
function TXLSXChart.AddPlotGroup(AChartType: TXLSXChartType; AAxisGroup: TXLSXChartAxisGroup = xlsxAxisPrimary): TXLSXChartPlotGroup;
procedure TXLSXChart.ClearSeries;
procedure TXLSXChart.ClearPlotGroups;
procedure TXLSXChart.ClearPreservedXml;
property TXLSXChart.ChartType: TXLSXChartType;
property TXLSXChart.HasPreservedXml: Boolean;
property TXLSXChart.CategoryAxis, ValueAxis: TXLSXChartAxis;
property TXLSXChart.SecondaryCategoryAxis, SecondaryValueAxis: TXLSXChartAxis;
property TXLSXChart.SeriesAxis: TXLSXChartAxis;
property TXLSXChart.TitleTextStyle, LegendTextStyle: TXLSXChartTextStyle;
property TXLSXChart.PlotAreaLayout, TitleLayout, LegendLayout: TXLSXChartLayout;
property TXLSXChart.ShowLegend, TitleOverlay, LegendOverlay: Boolean;
property TXLSXChart.LegendPosition: TXLSXChartLegendPosition;
property TXLSXChart.Series[Index: Integer]: TXLSXChartSeries;
property TXLSXChart.PlotGroups[Index: Integer]: TXLSXChartPlotGroup;
property TXLSXChart.RadarStyle: TXLSXChartRadarStyle;
property TXLSXChart.HoleSize, FirstSliceAng: Integer;
property TXLSXChart.OfPieType: TXLSXChartOfPieType;
property TXLSXChart.OfPieSplitType: TXLSXChartOfPieSplitType;
property TXLSXChart.OfPieSplitPos, OfPieSecondPieSize, OfPieGapWidth: Integer;
property TXLSXChart.RoundedCorners, AutoTitleDeleted: Boolean;
property TXLSXChart.ChartBackgroundColor, ChartBorderColor, PlotAreaBackgroundColor: LongWord;
property TXLSXChart.ProtectionEnabled: Boolean;
property TXLSXChart.ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection, ProtectedUserInterface: Boolean;
property TXLSXChart.ShowDataTableHorzBorder, ShowDataTableVertBorder, ShowDataTableOutline: Boolean;
property TXLSXChart.HasDropLines, HasSeriesLines: Boolean;
property TXLSXChart.OwnerSheet: TXLSXWorksheet;
أعضاء المخطط
| Title, CategoryAxisTitle and ValueAxisTitle | نص عنوان المخطط وتسميتَي المحورين الرئيسيين |
| TitleTextStyle and TitleLayout | خصائص مكتوبة لخط عنوان المخطط ولونه وإبرازه ودورانه وتراكبه وموضعه اليدوي |
| ShowLegend, LegendPosition, LegendTextStyle and LegendLayout | إظهار وسيلة الإيضاح وجانبها والتراكب والخط والموضع اليدوي |
| PlotAreaLayout | مستطيل منطقة الرسم الداخلي أو الخارجي المحدد يدويًا بإحداثيات ChartML معيارية |
| FromRow, FromCol, ToRow and ToCol | مستطيل التثبيت على ورقة العمل بترقيم يبدأ من 1 |
| CategoryAxis and ValueAxis | محور التصنيفات الرئيسي أو محور X، ومحور القيم الرئيسي أو محور Y |
| SecondaryCategoryAxis and SecondaryValueAxis | المحوران العلوي والأيمن اللذان تستخدمهما مجموعات الرسم الثانوية |
| SeriesAxis | محور العمق الذي تستخدمه المخططات التصنيفية ثلاثية الأبعاد |
| PlotGroups | مجموعات مرتبة لعائلات المخططات تتيح بناء المخططات المركّبة بينما يبقى Series عرضًا مسطحًا لأغراض التوافق |
| HasPreservedXml | يبلّغ عمّا إذا كان المخطط يحتفظ بـ ChartML الأصلي لرحلات ذهاب وإياب آمنة مع الامتدادات |
| ShowDataTable and ShowDataTableKeys | عناصر التحكم في عرض جدول البيانات |
| ShowDataTableHorzBorder, ShowDataTableVertBorder and ShowDataTableOutline | مفاتيح مستقلة لحدود جدول البيانات تُصدر كـ c:showHorzBorder وc:showVertBorder وc:showOutline؛ وجميعها True افتراضيًا |
| HasDropLines and HasSeriesLines | خطوط الإسقاط في المخطط الخطي تربط كل نقطة بمحور التصنيفات، وخطوط السلاسل تربط مقاطع السلاسل المكدسة في المخططات الشريطية أو الخطية |
| HasUpDownBars, UpDownGapWidth and HasHiLowLines | عناصر التحكم في عرض المخططات الخطية ومخططات الأسهم |
| Rotation3DX, Rotation3DY, Elevation3D, Perspective3D and RightAngleAxes3D | عناصر التحكم في منظور المخطط ثلاثي الأبعاد |
| HeightPercent3D, DepthPercent3D and GapDepth3D | نسب مئوية لارتفاع منطقة الرسم ثلاثية الأبعاد وعمقها والفجوة بين السلاسل |
| RadarStyle | تنويعة عائلة مخطط الرادار لنوع المخطط الحالي |
| HoleSize and FirstSliceAng | نسبة نصف القطر الداخلي للمخطط الحلقي (10..90) وزاوية البداية بالدرجات في المخططات الدائرية والحلقية |
| OfPieType, OfPieSplitType, OfPieSplitPos, OfPieSecondPieSize and OfPieGapWidth | تخطيط الدائري-الفرعي والعمودي-الفرعي وقاعدة التقسيم وأحجام منطقتَي الرسم الرئيسية والثانوية |
| RoundedCorners | تشغيل الحواف الدائرية لمساحة المخطط أو تعطيلها |
| AutoTitleDeleted | يكبت العنوان التلقائي المشتق من اسم سلسلة واحدة ويصدر c:autoTitleDeleted |
| ChartBackgroundColor, ChartBorderColor and PlotAreaBackgroundColor | ألوان تعبئة وحدود المخطط ومنطقة الرسم بقيم $RRGGBB؛ والقيمة 0 تُبقي إعداد السمة الافتراضي |
| ProtectionEnabled, ProtectedChartObjects, ProtectedDataEditing, ProtectedFormatting, ProtectedSelection and ProtectedUserInterface | مفتاح حماية المخطط وقيود التحرير الفردية التي يصدرها ضمن c:protection |
| OwnerSheet | إشارة للقراءة فقط إلى ورقة العمل المالكة لهذا المخطط |
أنواع المخططات والمجموعات المركّبة
TXLSXChartType يشمل عائلات الأعمدة والأشرطة والخطوط والدوائر والمناطق والحلقات والمبعثر والفقاعات والرادار والأسهم والدائري الفرعي والأسطح، إضافة إلى التنويعات ثلاثية الأبعاد: الأسطح والأعمدة والأشرطة والخطوط والدوائر والمناطق
مجموعة الرسم الأولى هي مجموعة التوافق التي يتحكم بها ChartType وAddSeries وتُضاف المجموعات الإضافية عبر AddPlotGroup ويمكن أن تستخدم xlsxAxisPrimary أو xlsxAxisSecondary
السلاسل وخطوط الانحدار وأشرطة الأخطاء
function TXLSXChartSeries.AddTrendline(AType: TXLSXChartTrendlineType): TXLSXChartTrendline;
function TXLSXChartSeries.AddErrorBar(ADir: TXLSXChartErrDir): TXLSXChartErrBar;
property TXLSXChartSeries.Trendlines[Index: Integer]: TXLSXChartTrendline;
property TXLSXChartSeries.ErrBarX, ErrBarY: TXLSXChartErrBar;
property TXLSXChartTrendline.TrendlineType: TXLSXChartTrendlineType;
property TXLSXChartTrendline.DispEq, DispRSqr: Boolean;
property TXLSXChartTrendline.Order, Period: Integer;
property TXLSXChartErrBar.ValueType: TXLSXChartErrValType;
property TXLSXChartErrBar.Value, PlusValue, MinusValue: Double;
| TrendlineType | خط انحدار خطي أو أُسّي أو لوغاريتمي أو كثير حدود أو قوة أو متوسط متحرك |
| DispEq and DispRSqr | يعرضان المعادلة وقيمة R تربيع على المخطط |
| Order and Period | رتبة كثير الحدود أو فترة المتوسط المتحرك حسب نوع خط الانحدار المقابل |
| ValueType | مقدار خطأ ثابت أو نسبي أو بانحراف معياري أو بخطأ معياري أو مخصص |
| NoEndCap | يخفي الغطاء عند أي من طرفي شريط الأخطاء |
أعضاء المحاور وتسميات البيانات
| LogBase and Orientation | أساس المقياس اللوغاريتمي وترتيب المحور العادي أو المعكوس |
| MajorGridlines and MinorGridlines | عناصر التحكم في إظهار خطوط الشبكة الرئيسية والثانوية |
| MinValue, MaxValue, MajorUnit and MinorUnit | حدود مقياس صريحة وتباعد علامات التدريج حيثما تكون مدعومة |
| CrossesAt, TickLblPos and DispUnits | موضع تقاطع المحور ومواضع تسميات التدريج ووحدات العرض |
ShowValue, ShowCategoryName, ShowSeriesName, ShowLegendKey, ShowPercent and ShowBubbleSize | مكوّنات تسمية البيانات لكل سلسلة |
| Separator | النص الفاصل بين مكوّنات تسمية البيانات المتعددة المعروضة |
الحفاظ على ChartML غير المدعوم
عند تفعيل TXLSXWorkbook.PreserveUnsupportedParts وهو الإعداد الافتراضي يحتفظ المخطط المستورد بـ ChartML الأصلي المخطط الذي لم تُمسّه تعديلات يُعيد بثّ هذا XML دون تطبيع، بينما تُركّب التغييرات على الخصائص المكتوبة نموذج HotXLS المُولَّد فوق الشجرة الأصلية
تبقى مساحات الأسماء غير المعروفة وعناصر توافق الترميز AlternateContent وقوائم الامتدادات والأنماط المخصصة والتنسيقات غير المُمثلة في النموذج مرتبطة بكائنات المخطط الأصلية أثناء تحرير الخصائص المعروفة استدعِ ClearPreservedXml للتخلّص من هذا XML المحتفظ به لمخطط واحد وإعادة توليده من الخصائص المكتوبة فقط
مثال
var
Chart: TXLSXChart;
Secondary: TXLSXChartPlotGroup;
begin
Chart := Sheet.Charts.Add(xlsxChartLine, 'Monthly sales', 2, 5, 18, 12);
Chart.AddSeries('Sales', 'Sheet1!$A$2:$A$13', 'Sheet1!$B$2:$B$13');
Chart.ValueAxisTitle := 'Amount';
Chart.TitleTextStyle.Name := 'Aptos Display';
Chart.TitleTextStyle.Size := 18;
Chart.TitleTextStyle.Bold := True;
Chart.PlotAreaLayout.Target := xlsxChartLayoutInner;
Chart.PlotAreaLayout.SetPositionAndSize(0.12, 0.18, 0.72, 0.64);
Chart.ShowLegend := True;
Chart.LegendPosition := xlsxChartLegendBottom;
Chart.LegendTextStyle.Size := 10;
Secondary := Chart.AddPlotGroup(xlsxChartColumn, xlsxAxisSecondary);
Secondary.AddSeries('Margin', 'Sheet1!$A$2:$A$13', 'Sheet1!$C$2:$C$13');
Chart.SecondaryValueAxis.Title := 'Margin percent';
Chart.Series[0].AddTrendline(xlsxTrendLinear).DispRSqr := True;
Chart.Series[0].ShowValue := True;
end;انظر أيضًا