وثائق HotXLS

فئتا TXLSXChart وTXLSXCharts

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;

انظر أيضًا