اعمال فرمولهای کاربرگ نمودار در ارائهها با پایتون
مرور کلی
یک کاربرگ نمودار منبع داده پشت یک نمودار در ارائه است. این کاربرگ نامهای دستهبندی و سریها را همراه با مقادیر عددی که توسط نمودار نمایش داده میشوند، ذخیره میکند. در Aspose.Slides، این کاربرگ از طریق کتابکار دادههای نمودار در دسترس است که به شما امکان میدهد برنامهنویسی دادههای نمودار را انجام دهید.
این مقاله نحوه استفاده از فرمولهای کاربرگ در دادههای نمودار را توضیح میدهد تا مقادیر سلولها به صورت خودکار محاسبه و بهروز شوند، بهجای وارد کردن دستی. نحوه تخصیص فرمولها، استفاده از ارجاعهای سبک A1 و R1C1، بازمحاسبه فرمولهای کتابکار و کار با ثابتها، عملگرها، ارجاعهای سلولی و توابع پیشتعریف شدهای که برای کاربرگهای نمودار در ارائهها پشتیبانی میشوند را نشان میدهد.
درباره فرمول کاربرگ نمودار در ارائه
کاربرگ نمودار (یا کاربرگ صفحهگراف) در ارائه منبع داده نمودار است. کاربرگ نمودار شامل دادههایی است که بهصورت گرافیکی بر روی نمودار نمایش داده میشوند. هنگام ایجاد یک نمودار در PowerPoint، کاربرگ مرتبط با این نمودار نیز بهصورت خودکار ایجاد میشود. کاربرگ برای تمام انواع نمودارها ایجاد میشود: نمودار خطی، نمودار میلهای، نمودار خورشیدی، نمودار دایرهای و غیره. برای مشاهده کاربرگ در PowerPoint باید دو بار روی نمودار کلیک کنید:

کاربرگ شامل نام عناصر نمودار (نام دستهبندی: Category1، نام سری) و جدولی با دادههای عددی مربوط به این دستهها و سریهاست. بهطور پیشفرض، هنگام ایجاد یک نمودار جدید، دادههای کاربرگ با دادههای پیشفرض تنظیم میشوند. سپس میتوانید دادههای کاربرگ را بهصورت دستی تغییر دهید.
معمولاً نمودار دادههای پیچیدهای (مثلاً تجزیهوتحلیل مالی، تجزیهوتحلیل علمی) را نشان میدهد که سلولهای آن از مقادیر سلولهای دیگر یا دادههای پویا محاسبه میشوند. محاسبه دستی مقدار سلول و کدنویسی ثابت آن، تغییر آیندهاش را دشوار میکند. اگر مقدار یک سلول خاص را تغییر دهید، تمام سلولهای وابسته به آن نیز باید بهروز شوند. علاوه بر این، دادههای جدول ممکن است به دادههای جداول دیگر وابسته باشند و یک طرح دادهای پیچیده برای ارائه ایجاد کنند که نیاز به بهروزرسانی آسان و انعطافپذیر دارد.
فرمول کاربرگ نمودار در ارائه یک عبارت برای محاسبه و بهروزرسانی خودکار دادههای کاربرگ است. فرمول کاربرگ منطق محاسبه داده را برای یک سلول یا مجموعهای از سلولها تعریف میکند. فرمول کاربرگ یک فرمول ریاضی یا منطقی است که از: ارجاعهای سلولی، توابع ریاضی، عملگرهای منطقی، عملگرهای حسابی، توابع تبدیل، ثابتهای رشتهای و غیره استفاده میکند. تعریف فرمول در یک سلول نوشته میشود و این سلول حاوی یک مقدار ساده نیست. فرمول کاربرگ مقدار را محاسبه و بازمیگرداند، سپس این مقدار به سلول اختصاص مییابد. فرمولهای کاربرگ در ارائهها در واقع همان فرمولهای اکسل هستند و توابع، عملگرها و ثابتهای پیشفرض یکسانی برای پیادهسازی آنها پشتیبانی میشود.
در Aspose.Slides کاربرگ با ویژگی Chart.ChartData.ChartDataWorkbook از IChartDataWorkbook ارائه میشود. فرمول کاربرگ میتواند با ویژگی formula تنظیم و تغییر شود. عملکردهای زیر برای فرمولها در Aspose.Slides پشتیبانی میشود:
- ثابتهای منطقی
- ثابتهای عددی
- ثابتهای رشتهای
- ثابتهای خطا
- عملگرهای حسابی
- عملگرهای مقایسهای
- ارجاعهای سلولی سبک A1
- ارجاعهای سلولی سبک R1C1
- توابع پیشتعریف شده
معمولاً کاربرگها آخرین مقادیر محاسبه شده فرمولها را ذخیره میکنند. اگر پس از بارگذاری ارائه، دادههای نمودار تغییر نکرده باشند، خاصیت IChartDataCell.Value آن مقادیر را هنگام خواندن برمیگرداند. اما اگر دادههای کاربرگ تغییر کرده باشد، هنگام خواندن خاصیت ChartDataCell.Value استثنای CellUnsupportedDataException را برای فرمولهای پشتیبانینشده میاندازد. این به این دلیل است که وقتی فرمولها با موفقیت تجزیه شوند، وابستگیهای سلولی تعیین میشوند و درستی مقادیر آخرین محاسبه مشخص میشود. اما اگر فرمول قابل تجزیه نباشد، صحت مقدار سلول تضمین نمیشود.
افزودن فرمول کاربرگ به ارائه
اولین، یک نمودار با برخی دادههای نمونه به اسلاید اول یک ارائه جدید اضافه کنید با add_chart. کاربرگ نمودار بهصورت خودکار ایجاد میشود و میتوان به آن دسترسی یافت با chart_data_workbook ویژگی:
import aspose.slides.charts as charts
import aspose.slides as slides
with slides.Presentation() as presentation:
chart = presentation.slides[0].shapes.add_chart(charts.ChartType.CLUSTERED_COLUMN, 150, 150, 500, 300)
workbook = chart.chart_data.chart_data_workbook
# ...
بیایید برخی مقادیر را در سلولها با ویژگی value از نوع Object بنویسیم، به این معنی که میتوانید هر مقداری را به این ویژگی اختصاص دهید:
workbook.get_cell(0, "F2").value = -2.5
workbook.get_cell(0, "G3").value = 6.3
workbook.get_cell(0, "H4").value = 3
حالا برای نوشتن فرمول در سلول، میتوانید از ویژگی formula استفاده کنید:
workbook.get_cell(0, "B2").formula = "F2+G3+H4+1"
توجه: ویژگی IChartDataCell.Formula برای تنظیم ارجاعهای سلولی سبک A1 استفاده میشود.
برای تنظیم ارجاع سلولی r1c1_formula میتوانید از ویژگی r1c1_formula استفاده کنید:
workbook.get_cell(0, "C2").r1c1_formula = "R[1]C[4]/R[2]C[5]"
سپس از متد calculate_formulas برای محاسبه تمام فرمولهای داخل کتابکار و بهروزرسانی مقادیر سلولهای مربوطه استفاده کنید:
workbook.calculate_formulas()
print(workbook.get_cell(0, "B2").value) # 7.8
print(workbook.get_cell(0, "C2").value) # 2.1
ثابتهای منطقی
میتوانید ثابتهای منطقی مانند FALSE و TRUE را در فرمولهای سلول استفاده کنید:
ثابتهای عددی
اعداد میتوانند به صورت معمولی یا به صورت علمی برای ایجاد فرمول کاربرگ نمودار استفاده شوند:
ثابتهای رشتهای
ثابت رشته (یا مقدار قلمی) مقدار خاصی است که همانگونه استفاده میشود و تغییر نمیکند. ثابتهای رشته میتوانند شامل: تاریخها، متون، اعداد و غیره باشند:
ثابتهای خطا
گاهی اوقات نتوانست نتیجه با فرمول محاسبه شود. در این حالت، کد خطا بهجای مقدار در سلول نشان داده میشود. هر نوع خطا کد خاص خود را دارد:
- #DIV/0! – فرمول سعی میکند بر صفر تقسیم شود.
- #GETTING_DATA – ممکن است روی سلول نمایش داده شود در حالی که مقدار آن هنوز در حال محاسبه است.
- #N/A – اطلاعات موجود نیست یا در دسترس نیست. دلایل ممکن: سلولهای استفادهشده در فرمول خالیاند، وجود یک کاراکتر فضای اضافی، غلط املایی و غیره.
- #NAME? – یک سلول یا شیء فرمول دیگر بهدلیل نامش پیدا نمیشود.
- #NULL! – ممکن است زمانی ظاهر شود که در فرمول خطایی وجود داشته باشد، مثل: (,) یا استفاده از کاراکتر فضای خالی بهجای دو نقطه (:).
- #NUM! – عدد موجود در فرمول نامعتبر، بیش از حد طولانی یا کوتاه است و غیره.
- #REF! – ارجاع سلولی نامعتبر.
- #VALUE! – نوع مقدار غیرمنتظره. مثال: مقدار رشتهای تنظیم شده برای سلول عددی.
عملگرهای حسابی
میتوانید تمام عملگرهای حسابی را در فرمولهای کاربرگ نمودار استفاده کنید:
| عملگر | معنی | مثال |
|---|---|---|
| + (علامت جمع) | جمع یا جمع یکتایی | 2 + 3 |
| - (علامت منفی) | تفریق یا منفی کردن | 2 - 3 -3 |
| * (ستاره) | ضرب | 2 * 3 |
| / (خط مورب) | تقسیم | 2 / 3 |
| % (علامت درصد) | درصد | 30% |
| ^ (Caret) | توان | 2 ^ 3 |
توجه: برای تغییر ترتیب ارزیابی، قسمت فرمول که باید ابتدا محاسبه شود را در پرانتز بگذارید.
عملگرهای مقایسهای
میتوانید مقادیر سلولها را با عملگرهای مقایسهای مقایسه کنید. وقتی دو مقدار با این عملگرها مقایسه میشوند، نتیجه یک مقدار منطقی TRUE یا FALSE است:
| عملگر | معنی | مثال |
|---|---|---|
| = (علامت مساوی) | مساوی | A2 = 3 |
| <> (علامت نا مساوی) | نا مساوی | A2 <> 3 |
| > (علامت بزرگتر) | بزرگتر | A2 > 3 |
| >= (علامت بزرگتر یا مساوی) | بزرگتر یا مساوی | A2 >= 3 |
| < (علامت کوچکتر) | کوچکتر | A2 < 3 |
| <= (علامت کوچکتر یا مساوی) | کوچکتر یا مساوی | A2 <= 3 |
ارجاعهای سلولی سبک A1
ارجاعهای سلولی سبک A1 برای کاربرگها استفاده میشوند که در آن ستون با یک شناسه حرفی (مثلاً “A") و ردیف با یک شناسه عددی (مثلاً “1") مشخص میشود. ارجاعهای سلولی سبک A1 میتوانند به شکل زیر استفاده شوند:
| ارجاع سلولی | مثال | ||
|---|---|---|---|
| مطلق | نسبی | مختلط | |
| سلول | $A$2 | A2 | A$2 $A2 |
| ردیف | $2:$2 | 2:2 | - |
| ستون | $A:$A | A:A | - |
| بردار | $A$2:$C$4 | A2:C4 | $A$2:C4 A$2:$C4 |
در اینجا مثالی از نحوه استفاده از ارجاع سلولی سبک A1 در فرمول آمده است:
ارجاعهای سلولی سبک R1C1
ارجاعهای سلولی سبک R1C1 برای کاربرگها استفاده میشوند که در آن هم ردیف و هم ستون دارای شناسه عددی هستند. ارجاعهای سلولی سبک R1C1 میتوانند به شکل زیر استفاده شوند:
| ارجاع سلولی | مثال | ||
|---|---|---|---|
| مطلق | نسبی | مختلط | |
| سلول | R2C3 | R[2]C[3] | R2C[3] R[2]C3 |
| ردیف | R2 | R[2] | - |
| ستون | C3 | C[3] | - |
| بردار | R2C3:R5C7 | R[2]C[3]:R[5]C[7] | R2C3:R[5]C[7] R[2]C3:R5C[7] |
در اینجا مثالی از نحوه استفاده از ارجاع سلولی سبک A1 در فرمول آمده است:
توابع پیشتعریف شده
توابع پیشتعریف شدهای وجود دارند که میتوانند در فرمولها برای سادهسازی پیادهسازی استفاده شوند. این توابع عملیاتهای پرکاربردی را در خود محصور میکنند، مانند:
- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (سیستم تاریخ 1900)
- DAYS
- FIND
- FINDB
- IF
- INDEX (فرم ارجاع)
- LOOKUP (فرم برداری)
- MATCH (فرم برداری)
- MAX
- SUM
- VLOOKUP
سؤالات متداول
آیا فایلهای Excel خارجی بهعنوان منبع داده برای نمودار با فرمولها پشتیبانی میشوند؟
بله. Aspose.Slides از کتابکارهای خارجی بهعنوان منبع داده نمودار پشتیبانی میکند که به شما امکان میدهد از فرمولهای XLSX خارج از ارائه استفاده کنید.
آیا فرمولهای نمودار میتوانند به شیتهای داخل همان کتابکار با نام شیت ارجاع دهند؟
بله. فرمولها از مدل ارجاع استاندارد Excel پیروی میکنند، بنابراین میتوانید به شیتهای دیگر داخل همان کتابکار یا کتابکار خارجی ارجاع دهید. برای ارجاعات خارجی، مسیر و نام کتابکار را با استفاده از سینتکس Excel وارد کنید.