Chart

يدعم aspose-cells-foss تضمين المخططات في أوراق العمل. يتم إدارة المخططات عبر ws.charts, أ ChartCollection مرفق بكل Worksheet. يتم إضافة بيانات السلسلة عبر chart.n_series, أ NSeries مجموعة.

Enumerations: aspose.cells_foss

from aspose.cells_foss import ChartType

ChartType

ChartType هو أ IntEnum التي تحدد نوع المخطط.

EnumerationsEnumerationsEnumerations
LINE0مدعوم بالكامل للحفظ.
BAR1مدعوم بالكامل للحفظ.
PIE2مدعوم بالكامل للحفظ.
AREA3مدعوم بالكامل للحفظ.
BOX_WHISKER4تم الحفظ باستخدام تنسيق chartEx.
WATERFALL5تم الحفظ باستخدام تنسيق chartEx.
COMBO6Enumerations NotImplementedError عند الحفظ.
SCATTER7Enumerations NotImplementedError عند الحفظ.
STOCK8مدعوم بالكامل للحفظ.
SURFACE9Enumerations NotImplementedError عند الحفظ.
RADAR10Enumerations NotImplementedError عند الحفظ.
TREEMAP11Enumerations NotImplementedError عند الحفظ.
SUNBURST12Enumerations NotImplementedError عند الحفظ.
HISTOGRAM13Enumerations NotImplementedError عند الحفظ.
FUNNEL14Enumerations NotImplementedError عند الحفظ.
MAP15Enumerations NotImplementedError عند الحفظ.

Enumerations

Chart الكائنات لا تُنشأ مباشرةً. استخدم ws.charts.add(...) أو طرق الراحة المكتوبة (add_bar(), add_line(), add_pie(), add_area()).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
typeChartTypeEnumerationsنوع المخطط يتم تحديده عند الإنشاء.
title`strNone`قراءة/كتابة
category_data`strNone`قراءة/كتابة
n_seriesNSeriesEnumerationsمجموعة من سلاسل البيانات.
show_legendboolقراءة/كتابةTrue (افتراضي) لعرض مفتاح الرسم البياني.
legend_positionstrقراءة/كتابةموضع المفتاح: 'right', 'left', 'top', 'bottom', 'top_right' (يقبل أيضًا الصيغ المختصرة 'r', 'l', 't', 'b', 'tr').
smoothboolقراءة/كتابةTrue لاستخدام خطوط ناعمة (منحنى) في المخططات الخطية.
groupingstrRead/Writeتجميع السلاسل: 'standard', 'stacked', 'percentStacked', 'clustered'.
bar_directionstrRead/WriteEnumerations BAR المخططات: 'bar' (أفقي) أو 'col' (عمودي/عمود).
gap_widthintRead/Writeالفجوة بين مجموعات الأشرطة/الأعمدة، 0–500 (الإعداد الافتراضي 150).
overlapintRead/Writeنسبة تداخل السلاسل، -100 إلى 100 (الإعداد الافتراضي 0).
vary_colorsboolقراءة/كتابةTrue لتعيين لون مميز لكل نقطة بيانات.
first_slice_angleintقراءة/كتابةزاوية البداية للقطعة الأولى من الفطيرة، 0–360 درجة.
is_3dboolقراءة/كتابةTrue لتمكين العرض ثلاثي الأبعاد.
view_3dChartView3DEnumerations3D rotation and perspective settings.
axeslist[ChartAxis]Enumerationsقائمة محاور المخطط.
upper_left_rowintEnumerations0-based row index of the chart’s top-left anchor cell.
upper_left_columnintEnumerations0-based column index of the chart’s top-left anchor cell.
lower_right_rowintEnumerations0-based row index of the chart’s bottom-right anchor cell.
lower_right_columnintEnumerations0-based column index of the chart’s bottom-right anchor cell.

ChartCollection

ChartCollection يتم الوصول إليه كـ ws.charts. يحتوي على جميع المخططات المدمجة في ورقة العمل.

Enumerations

add

ws.charts.add(
    chart_type: ChartType,
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Chart

يضيف مخططًا من النوع المحدد. جميع معاملات الموقع هي مؤشرات صف/عمود تبدأ من الصفر.

add_bar

ws.charts.add_bar(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

اختصار لـ add(ChartType.BAR, ...).

add_line

ws.charts.add_line(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

اختصار لـ add(ChartType.LINE, ...).

add_pie

ws.charts.add_pie(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

اختصار لـ add(ChartType.PIE, ...).

add_area

ws.charts.add_area(upper_left_row, upper_left_column, lower_right_row, lower_right_column) -> Chart

اختصار لـ add(ChartType.AREA, ...).

الخصائص والتكرار

EnumerationsEnumerations
countعدد المخططات في المجموعة (للقراءة فقط).
__len__()Enumerations count.
__iter__()يتنقل عبر جميع Chart الكائنات.
__getitem__(index)يرجع الـ Chart في الفهرس الصفري index.

NSeries

NSeries يتم الوصول إليه عبر chart.n_series. يدير سلسلة البيانات التابعة لمخطط.

Enumerations

add

chart.n_series.add(
    area: str,
    is_vertical: bool = False,
    category_data: str | None = None,
    name: str | None = None,
    chart_type: ChartType | None = None
) -> ChartSeries

يضيف سلسلة بيانات. area هي سلسلة نطاق مثل "Sheet1!B1:B5". اضبط is_vertical=True عند ترتيب البيانات في أعمدة. chart_type يتجاوز نوع المخطط الأصلي لهذه السلسلة (يُستخدم في المخططات المركبة).

الخصائص والتكرار

EnumerationsEnumerations
countعدد السلاسل (للقراءة فقط).
__len__()Enumerations count.
__iter__()يتكرر على جميع ChartSeries الكائنات.
__getitem__(index)يعيد الـ ChartSeries في الفهرس الصفري index.

ChartSeries

ChartSeries يمثل سلسلة بيانات واحدة داخل مخطط. يتم الحصول عليها عبر chart.n_series[index].

Enumerations

EnumerationsEnumerationsEnumerations
valuesstrسلسلة النطاق لبيانات قيم Y (مثالاً،., "Sheet1!B2:B6").
category_datastrسلسلة النطاق لتسميات الفئة/محور X لهذه السلسلة.
name`strNone`
chart_type`ChartTypeNone`
x_valuesstrسلسلة النطاق لقيم X في مخطط التبعثر.
error_bars`ChartErrorBarsNone`
smoothboolTrue لاستخدام خطوط ناعمة لهذه السلسلة.

Enumerations

add_error_bars

series.add_error_bars(
    direction='y',
    bar_type='both',
    val_type='fixedVal',
    val=1.0,
    no_end_cap=False
) -> ChartErrorBars

يضيف أشرطة الخطأ إلى هذه السلسلة ويعيد الـ ChartErrorBars الكائن.

EnumerationsEnumerations
direction'x', 'y', 'xy'
bar_type'both', 'minus', 'plus'
val_type'fixedVal', 'percentage', 'stdDev', 'stdErr'

ChartAxis

ChartAxis يتم الوصول إليه عبر chart.axes[index].

Enumerations

EnumerationsEnumerationsEnumerations
title`strNone`
number_format`strNone`
minimum_scale`floatNone`
maximum_scale`floatNone`
major_unit`floatNone`
minor_unit`floatNone`
is_logarithmicboolTrue لاستخدام مقياس لوغاريتمي.
log_basefloatقاعدة اللوغاريتم عندما is_logarithmic هي True.
crossesstrمكان تقاطع هذا المحور مع المحور العمودي: 'autoZero', 'min', 'max'.
crosses_at`floatNone`
reverse_orderboolTrue لعكس اتجاه المحور.
axis_typestrنوع فئة المحور: 'catAx', 'valAx', 'dateAx', 'serAx'.
orientationstr'minMax' للاتجاه العادي،, 'maxMin' للعكس.

ChartView3D

ChartView3D يتم الوصول إليه عبر chart.view_3d. ينطبق فقط عندما chart.is_3d هو True.

Enumerations

EnumerationsEnumerationsEnumerations
rotation_xintدوران المحور X (الارتفاع)، 0–90 درجة.
rotation_yintدوران المحور Y، 0–360 درجة.
right_angle_axesboolTrue لاستخدام محاور بزاوية قائمة (منظر إسومتري).
perspectiveintتشويه المنظور، 0–100. يتم تجاهله عندما right_angle_axes هو True.
height_percentintارتفاع المخطط كنسبة مئوية من القاعدة، 5–500.
depth_percentintعمق المخطط كنسبة مئوية من القاعدة، 20–2000.

ChartErrorBars

ChartErrorBars يتم الوصول إليه عبر series.error_bars. أنشئ باستخدام series.add_error_bars(...).

Enumerations

EnumerationsEnumerationsEnumerations
directionstrاتجاه شريط الخطأ: 'x', 'y', 'xy'.
bar_typestrالأشرطة التي يجب إظهارها: 'both', 'minus', 'plus'.
val_typestrنوع القيمة: 'fixedVal', 'percentage', 'stdDev', 'stdErr'.
valfloatقيمة ثابتة أو نسبة مئوية تُستخدم عندما val_type هو 'fixedVal' أو 'percentage'.
no_end_capboolTrue لإلغاء سطر النهاية على أشرطة الخطأ.
plus_formula`strNone`
minus_formula`strNone`
line_width`intNone`
line_color`strNone`

Enumerations

المثال التالي يكتب بيانات إيرادات شهرية، ينشئ مخطط شريطي متجمع مع عنوان وسلسلتين من البيانات، ويحفظ دفتر العمل.

from aspose.cells_foss import Workbook, ChartType

wb = Workbook()
ws = wb.worksheets[0]
ws.name = "Revenue"

# Write headers and data
headers = ["Month", "Product A", "Product B"]
data = [
    ["Jan", 12000, 9500],
    ["Feb", 14500, 11000],
    ["Mar", 13200, 12800],
    ["Apr", 15800, 14100],
]
for col, h in enumerate(headers):
    ws.cells[0][col].put_value(h)
for row, row_data in enumerate(data, start=1):
    for col, val in enumerate(row_data):
        ws.cells[row][col].put_value(val)

# Add a bar chart covering rows 6-20, columns 0-6
chart = ws.charts.add_bar(6, 0, 20, 6)
chart.title = "Monthly Revenue by Product"
chart.bar_direction = "col"   # vertical (column chart)
chart.grouping = "clustered"

# Series: Product A and Product B
chart.n_series.add("Revenue!B2:B5", is_vertical=True, category_data="Revenue!A2:A5", name="Product A")
chart.n_series.add("Revenue!C2:C5", is_vertical=True, category_data="Revenue!A2:A5", name="Product B")

chart.show_legend = True
chart.legend_position = "bottom"

wb.save("revenue_chart.xlsx")

انظر أيضًا

 العربية