Chart
يدعم aspose-cells-foss تضمين المخططات في أوراق العمل. يتم إدارة المخططات عبر ws.charts, أ ChartCollection مرفق بكل Worksheet. يتم إضافة بيانات السلسلة عبر chart.n_series, أ NSeries مجموعة.
Enumerations: aspose.cells_foss
from aspose.cells_foss import ChartTypeChartType
ChartType هو أ IntEnum التي تحدد نوع المخطط.
| Enumerations | Enumerations | Enumerations |
|---|---|---|
LINE | 0 | مدعوم بالكامل للحفظ. |
BAR | 1 | مدعوم بالكامل للحفظ. |
PIE | 2 | مدعوم بالكامل للحفظ. |
AREA | 3 | مدعوم بالكامل للحفظ. |
BOX_WHISKER | 4 | تم الحفظ باستخدام تنسيق chartEx. |
WATERFALL | 5 | تم الحفظ باستخدام تنسيق chartEx. |
COMBO | 6 | Enumerations NotImplementedError عند الحفظ. |
SCATTER | 7 | Enumerations NotImplementedError عند الحفظ. |
STOCK | 8 | مدعوم بالكامل للحفظ. |
SURFACE | 9 | Enumerations NotImplementedError عند الحفظ. |
RADAR | 10 | Enumerations NotImplementedError عند الحفظ. |
TREEMAP | 11 | Enumerations NotImplementedError عند الحفظ. |
SUNBURST | 12 | Enumerations NotImplementedError عند الحفظ. |
HISTOGRAM | 13 | Enumerations NotImplementedError عند الحفظ. |
FUNNEL | 14 | Enumerations NotImplementedError عند الحفظ. |
MAP | 15 | Enumerations NotImplementedError عند الحفظ. |
Enumerations
Chart الكائنات لا تُنشأ مباشرةً. استخدم ws.charts.add(...) أو طرق الراحة المكتوبة (add_bar(), add_line(), add_pie(), add_area()).
Enumerations
| Enumerations | Enumerations | Enumerations | Enumerations |
|---|---|---|---|
type | ChartType | Enumerations | نوع المخطط يتم تحديده عند الإنشاء. |
title | `str | None` | قراءة/كتابة |
category_data | `str | None` | قراءة/كتابة |
n_series | NSeries | Enumerations | مجموعة من سلاسل البيانات. |
show_legend | bool | قراءة/كتابة | True (افتراضي) لعرض مفتاح الرسم البياني. |
legend_position | str | قراءة/كتابة | موضع المفتاح: 'right', 'left', 'top', 'bottom', 'top_right' (يقبل أيضًا الصيغ المختصرة 'r', 'l', 't', 'b', 'tr'). |
smooth | bool | قراءة/كتابة | True لاستخدام خطوط ناعمة (منحنى) في المخططات الخطية. |
grouping | str | Read/Write | تجميع السلاسل: 'standard', 'stacked', 'percentStacked', 'clustered'. |
bar_direction | str | Read/Write | Enumerations BAR المخططات: 'bar' (أفقي) أو 'col' (عمودي/عمود). |
gap_width | int | Read/Write | الفجوة بين مجموعات الأشرطة/الأعمدة، 0–500 (الإعداد الافتراضي 150). |
overlap | int | Read/Write | نسبة تداخل السلاسل، -100 إلى 100 (الإعداد الافتراضي 0). |
vary_colors | bool | قراءة/كتابة | True لتعيين لون مميز لكل نقطة بيانات. |
first_slice_angle | int | قراءة/كتابة | زاوية البداية للقطعة الأولى من الفطيرة، 0–360 درجة. |
is_3d | bool | قراءة/كتابة | True لتمكين العرض ثلاثي الأبعاد. |
view_3d | ChartView3D | Enumerations | 3D rotation and perspective settings. |
axes | list[ChartAxis] | Enumerations | قائمة محاور المخطط. |
upper_left_row | int | Enumerations | 0-based row index of the chart’s top-left anchor cell. |
upper_left_column | int | Enumerations | 0-based column index of the chart’s top-left anchor cell. |
lower_right_row | int | Enumerations | 0-based row index of the chart’s bottom-right anchor cell. |
lower_right_column | int | Enumerations | 0-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, ...).
الخصائص والتكرار
| Enumerations | Enumerations |
|---|---|
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 يتجاوز نوع المخطط الأصلي لهذه السلسلة (يُستخدم في المخططات المركبة).
الخصائص والتكرار
| Enumerations | Enumerations |
|---|---|
count | عدد السلاسل (للقراءة فقط). |
__len__() | Enumerations count. |
__iter__() | يتكرر على جميع ChartSeries الكائنات. |
__getitem__(index) | يعيد الـ ChartSeries في الفهرس الصفري index. |
ChartSeries
ChartSeries يمثل سلسلة بيانات واحدة داخل مخطط. يتم الحصول عليها عبر chart.n_series[index].
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
values | str | سلسلة النطاق لبيانات قيم Y (مثالاً،., "Sheet1!B2:B6"). |
category_data | str | سلسلة النطاق لتسميات الفئة/محور X لهذه السلسلة. |
name | `str | None` |
chart_type | `ChartType | None` |
x_values | str | سلسلة النطاق لقيم X في مخطط التبعثر. |
error_bars | `ChartErrorBars | None` |
smooth | bool | True لاستخدام خطوط ناعمة لهذه السلسلة. |
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 الكائن.
| Enumerations | Enumerations |
|---|---|
direction | 'x', 'y', 'xy' |
bar_type | 'both', 'minus', 'plus' |
val_type | 'fixedVal', 'percentage', 'stdDev', 'stdErr' |
ChartAxis
ChartAxis يتم الوصول إليه عبر chart.axes[index].
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
title | `str | None` |
number_format | `str | None` |
minimum_scale | `float | None` |
maximum_scale | `float | None` |
major_unit | `float | None` |
minor_unit | `float | None` |
is_logarithmic | bool | True لاستخدام مقياس لوغاريتمي. |
log_base | float | قاعدة اللوغاريتم عندما is_logarithmic هي True. |
crosses | str | مكان تقاطع هذا المحور مع المحور العمودي: 'autoZero', 'min', 'max'. |
crosses_at | `float | None` |
reverse_order | bool | True لعكس اتجاه المحور. |
axis_type | str | نوع فئة المحور: 'catAx', 'valAx', 'dateAx', 'serAx'. |
orientation | str | 'minMax' للاتجاه العادي،, 'maxMin' للعكس. |
ChartView3D
ChartView3D يتم الوصول إليه عبر chart.view_3d. ينطبق فقط عندما chart.is_3d هو True.
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
rotation_x | int | دوران المحور X (الارتفاع)، 0–90 درجة. |
rotation_y | int | دوران المحور Y، 0–360 درجة. |
right_angle_axes | bool | True لاستخدام محاور بزاوية قائمة (منظر إسومتري). |
perspective | int | تشويه المنظور، 0–100. يتم تجاهله عندما right_angle_axes هو True. |
height_percent | int | ارتفاع المخطط كنسبة مئوية من القاعدة، 5–500. |
depth_percent | int | عمق المخطط كنسبة مئوية من القاعدة، 20–2000. |
ChartErrorBars
ChartErrorBars يتم الوصول إليه عبر series.error_bars. أنشئ باستخدام series.add_error_bars(...).
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
direction | str | اتجاه شريط الخطأ: 'x', 'y', 'xy'. |
bar_type | str | الأشرطة التي يجب إظهارها: 'both', 'minus', 'plus'. |
val_type | str | نوع القيمة: 'fixedVal', 'percentage', 'stdDev', 'stdErr'. |
val | float | قيمة ثابتة أو نسبة مئوية تُستخدم عندما val_type هو 'fixedVal' أو 'percentage'. |
no_end_cap | bool | True لإلغاء سطر النهاية على أشرطة الخطأ. |
plus_formula | `str | None` |
minus_formula | `str | None` |
line_width | `int | None` |
line_color | `str | None` |
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")