مدیریت مجموعه دادههای نمودار در ارائهها با .NET
بررسی کلی
یک نمودار دادههای ترسیمشده خود را در یک دفتر کار دادهٔ نمودار ذخیره میکند. یک IChartSeries نمایانگر یک مجموعه مقادیر مرتبط است و هر IChartDataPoint در این مجموعه به یک یا چند سلول دفتر کار اشاره میکند. اشیای IChartCategory برچسبها یا مقادیر گروهبندی مشترک بین مجموعهها را فراهم میآورند. بنابراین نام مجموعه، دستهها و مقادیر نقاط به اشیای IChartDataCell متصل هستند نه فقط به صورت متن نمایش داده شده ذخیره میشوند.
برای یک نمودار دستهای معمولی، دفتر کار پیشفرض از ردیف ۰ برای نام مجموعهها، ستون ۰ برای نام دستهها و سلولهای باقیمانده برای مقادیر مجموعه استفاده میکند. ایندکسهای شیت، ردیف و ستون که به IChartDataWorkbook.GetCell پاس داده میشوند، از صفر شروع می شوند. این طرحبندی برای ایجاد نمودار با دادههای پیشفرض مفید است، اما فرض نکنید که هر نمودار موجود از آن استفاده میکند. برای یک ارائهٔ بارگذاریشده، قبل از تغییر مقادیر دفتر کار، سلولهای مرجع توسط مجموعهها، دستهها و نقاط داده را بررسی کنید.
تنظیمات نمودار دارای سه حوزهٔ متفاوت هستند:
- تنظیمات در سطح مجموعه، مانند IChartSeries.Format، ظاهر پیشفرض تمام نقاط یک مجموعه را فراهم میکند.
- تنظیمات نقطه داده، مانند IChartDataPoint.Format، ظاهر مجموعه را برای یک نقطه خاص بازنویسی میکند.
- تنظیمات گروهی بر مجموعههای سازگاری که به یک IChartSeriesGroup تعلق دارند، اعمال میشوند. برای تنظیم گزینههایی مانند همپوشانی یا عرض فاصله، از IChartSeries.ParentSeriesGroup استفاده کنید.
زمانی که پر کردن صریح برای نقطه یا مجموعهای تنظیم نشده باشد، سبک و تم نمودار ظاهر خودکار را تعیین میکند. وقتی هر دو قالببندی مجموعه و نقطه وجود داشته باشد، قالببندی نقطه برای آن نقطه اولویت دارد.

تنظیم همپوشانی مجموعهٔ نمودار
IChartSeries.Overlap گزارش میدهد که ستونها یا میلهها در یک نمودار دو‑بعدی تا چه اندازه همپوشانی دارند، از ‑100 تا 100 درصد. این مقدار یک تصویر فقط‑خواندنی از تنظیمات در گروه مجموعهٔ والد است. برای بهروزرسانی تمام مجموعههای سازگار در آن گروه، IChartSeriesGroup.Overlap را تنظیم کنید. این گزینه برای انواع نموداری که میلههای گروهی یا ستونهای گروهی را نشان میدهند اعمال میشود؛ در یک نمودار ترکیبی بر گروههای مجموعهٔ نامرتبط تأثیری ندارد.
مثال زیر همپوشانی گروهی که شامل اولین مجموعه است تنظیم میکند:
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
const sbyte overlapPercent = 30;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
// نمودار جدید شامل مجموعههای نمونه، دستهها و مقادیر است.
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
series.ParentSeriesGroup.Overlap = overlapPercent;
presentation.Save("series_overlap.pptx", SaveFormat.Pptx);
نتیجه:

تغییر رنگ پر کردن مجموعه
از IChartSeries.Format برای تنظیم پر کردن پیشفرض یک مجموعه کامل استفاده کنید. اگر یک نقطه قبلاً پر کردن صریح داشته باشد، تنظیم IChartDataPoint.Format آن، پر کردن مجموعه را برای آن نقطه نادیده میگیرد.
مثال زیر پر کردن ثابت آبی را برای اولین مجموعه اعمال میکند:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = Color.Blue;
presentation.Save("series_color.pptx", SaveFormat.Pptx);
نتیجه:

تغییر نام مجموعه
نام مجموعه در دفتر کار دادهٔ نمودار ذخیره میشود و معمولاً در راهنمای توضیحی (legend) نشان داده میشود. در دفتر کار پیشفرض که برای یک نمودار ستونی خوشهای ساخته میشود، سلول B1 در ردیف 0، ستون 1 قرار دارد و نام اولین مجموعه را حاوی میشود. ثابتهای نامگذاری در مثال زیر این ساختار را به وضوح نشان میدهند:
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int worksheetIndex = 0;
const int seriesNameRowIndex = 0;
const int firstSeriesColumnIndex = 1;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var workbook = chart.ChartData.ChartDataWorkbook;
var seriesNameCell = workbook.GetCell(worksheetIndex, seriesNameRowIndex, firstSeriesColumnIndex);
seriesNameCell.Value = "Revenue";
presentation.Save("series_name.pptx", SaveFormat.Pptx);
همچنین میتوانید سلولی را که توسط IChartSeries.Name ارجاع شده است، مستقیم بهروزرسانی کنید. این روش از فرض کردن ردیف و ستون خاصی در یک نمودار موجود جلوگیری میکند:
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
const int firstNameCellIndex = 0;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
var seriesNameCell = series.Name.AsCells[firstNameCellIndex];
seriesNameCell.Value = "Revenue";
presentation.Save("series_name.pptx", SaveFormat.Pptx);
نتیجه:

ایجاد یک مجموعه با نام از چندین سلول
یک نام ترکیبی برای مجموعه زمانی مفید است که نام محصول و دورهٔ گزارش در سلولهای جداگانهای ذخیره شده باشند. به عنوان مثال میتوانید Product A در B1 و 2026 در C1 را به یک نام مجموعه ترکیب کنید و هر دو بخش به سلولهای منبع خود متصل بمانند.
از IChartDataWorkbook.GetCellCollection برای دریافت محدودهٔ نام استفاده کنید، سپس آن مجموعه را به IChartSeriesCollection.Add پاس دهید. آرگومان skipHiddenCells کنترل میکند که آیا سلولهای مخفی شامل شوند یا نه: true آنها را خارج میکند، در حالی که false شامل میشود. این مثال از false برای شامل کردن تمام سلولهای محدودهٔ نام استفاده میکند.
مثال زیر یک ارائه با یک مجموعه و دو نقطه داده ایجاد میکند. سلولهای B1:C1 فقط نام مجموعه را فراهم میکنند؛ A2:A3 برچسبهای دسته را، و B2:B3 مقادیر عددی را فراهم میکنند.
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
using var presentation = new Presentation();
var slide = presentation.Slides[0];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 50, 50, 620, 180);
chart.ChartData.Series.Clear();
chart.ChartData.Categories.Clear();
chart.HasLegend = true;
var workbook = chart.ChartData.ChartDataWorkbook;
workbook.Clear(0);
// این دو سلول نام مجموعه را فراهم میکنند.
workbook.GetCell(0, 0, 1, "Product A");
workbook.GetCell(0, 0, 2, "2026");
var nameCells = workbook.GetCellCollection("Sheet1!$B$1:$C$1", skipHiddenCells: false);
var series = chart.ChartData.Series.Add(nameCells, ChartType.ClusteredColumn);
// Separate cells supply the categories and numeric data points.
var northCategory = workbook.GetCell(0, 1, 0, "North");
var southCategory = workbook.GetCell(0, 2, 0, "South");
chart.ChartData.Categories.Add(northCategory);
chart.ChartData.Categories.Add(southCategory);
var northValue = workbook.GetCell(0, 1, 1, 120);
var southValue = workbook.GetCell(0, 2, 1, 150);
series.DataPoints.AddDataPointForBarSeries(northValue);
series.DataPoints.AddDataPointForBarSeries(southValue);
presentation.Save("composite_series_name.pptx", SaveFormat.Pptx);
نام مجموعهٔ حاصل Product A 2026 است، با یک فاصله بین دو مقدار سلولی. راهنما (legend) این را بهعنوان یک ورودی برای هر دو ستون نشان میدهد. تصویر زیر از ارائهٔ ذخیرهشده رندر شده است:

دریافت رنگ خودکار پر کردن مجموعه
IChartSeries.GetAutomaticSeriesColor رنگی را برمیگرداند که از اندیس مجموعه و سبک نمودار محاسبه میشود. این رنگ زمانی استفاده میشود که پر کردن مجموعه صراحتاً تعریف نشده باشد. فراخوانی این متد تنها رنگ محاسبهشده را میخواند؛ رنگ جدیدی تخصیص نمیدهد.
مثال زیر رنگ خودکار هر مجموعه پیشفرض را چاپ میکند:
using System;
using Aspose.Slides;
using Aspose.Slides.Charts;
const int firstSlideIndex = 0;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var seriesCount = chart.ChartData.Series.Count;
for (var seriesIndex = 0; seriesIndex < seriesCount; seriesIndex++)
{
var series = chart.ChartData.Series[seriesIndex];
var automaticColor = series.GetAutomaticSeriesColor();
Console.WriteLine($"Series {seriesIndex}: {automaticColor.Name}");
}
خروجی نمونه برای سبک پیشفرض نمودار:
Series 0: ff4f81bd
Series 1: ffc0504d
Series 2: ff9bbb59
رنگهای دقیق به سبک و تم نمودار وابستهاند.
تنظیم رنگ پر کردن معکوس برای مجموعهٔ نمودار
برای مجموعههای میله، ستون و حباب، IChartSeries.InvertIfNegative میتواند مقادیر منفی را با رنگ پر کردن متفاوتی نمایش دهد. پر کردن عادی مجموعه را به حالت ثابت (solid) تنظیم کنید، معکوسسازی را فعال کنید و رنگ مقدار منفی را از طریق IChartSeries.InvertedSolidFillColor تعیین کنید. اعداد منفی در دفتر کار بدون تغییر میمانند؛ فقط رنگ نمایش آنها تغییر میکند.
مثال زیر دادههای پیشفرض نمودار را با یک مجموعه جایگزین میکند. ردیف ۰ شیت نام مجموعه را دارد، ستون ۰ نام دستهها و ستون ۱ مقادیر را دارد:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int worksheetIndex = 0;
const int headerRowIndex = 0;
const int categoryColumnIndex = 0;
const int firstSeriesColumnIndex = 1;
const int firstDataRowIndex = 1;
var categoryNames = new[] { "Category 1", "Category 2", "Category 3" };
var seriesValues = new[] { -20, 50, -30 };
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var chartData = chart.ChartData;
var workbook = chartData.ChartDataWorkbook;
chartData.Series.Clear();
chartData.Categories.Clear();
var seriesNameCell = workbook.GetCell(worksheetIndex, headerRowIndex, firstSeriesColumnIndex, "Series 1");
var series = chartData.Series.Add(seriesNameCell, chart.Type);
for (var categoryIndex = 0; categoryIndex < categoryNames.Length; categoryIndex++)
{
var dataRowIndex = firstDataRowIndex + categoryIndex;
var categoryName = categoryNames[categoryIndex];
var seriesValue = seriesValues[categoryIndex];
var categoryCell = workbook.GetCell(worksheetIndex, dataRowIndex, categoryColumnIndex, categoryName);
chartData.Categories.Add(categoryCell);
var valueCell = workbook.GetCell(worksheetIndex, dataRowIndex, firstSeriesColumnIndex, seriesValue);
series.DataPoints.AddDataPointForBarSeries(valueCell);
}
var automaticSeriesColor = series.GetAutomaticSeriesColor();
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = automaticSeriesColor;
series.InvertIfNegative = true;
series.InvertedSolidFillColor.Color = Color.Red;
presentation.Save("inverted_solid_fill_color.pptx", SaveFormat.Pptx);
نتیجه:

میتوانید معکوسسازی را برای یک نقطه از طریق IChartDataPoint.InvertIfNegative فعال کنید. در مثال زیر، معکوسسازی برای کل مجموعه غیرفعال و فقط برای نقطهٔ انتخابشده فعال است. همچنین مقدار نقطه منفی تنظیم میشود تا اثر قابل مشاهده باشد:
using System.Drawing;
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
const int targetDataPointIndex = 2;
const int negativeValue = -30;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
var automaticSeriesColor = series.GetAutomaticSeriesColor();
series.Format.Fill.FillType = FillType.Solid;
series.Format.Fill.SolidFillColor.Color = automaticSeriesColor;
series.InvertedSolidFillColor.Color = Color.Red;
series.InvertIfNegative = false;
var dataPoint = series.DataPoints[targetDataPointIndex];
dataPoint.YValue.AsCell.Value = negativeValue;
dataPoint.InvertIfNegative = true;
presentation.Save("data_point_invert_color_if_negative.pptx", SaveFormat.Pptx);
پاکسازی مقدار یک نقطه دادهٔ خاص
برای خالی کردن یک نقطه بدون حذف نقاط دیگر، سلول پشتوانهٔ آن را به null تنظیم کنید. برای یک نمودار ستونی، مقدار ترسیمشده از طریق IChartDataPoint.YValue در دسترس است. نقطه داده در همان موقعیت دسته باقی میماند، اما نمودار مقدار آن را بر مبنای تنظیمات خالی‑مقدار (blank‑value) نمودار بهصورت خالی در نظر میگیرد.
مثال زیر فقط نقطه دوم در اولین مجموعه را پاک میکند:
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
const int targetDataPointIndex = 1;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.ClusteredColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
var dataPoint = series.DataPoints[targetDataPointIndex];
dataPoint.YValue.AsCell.Value = null;
presentation.Save("clear_data_point_value.pptx", SaveFormat.Pptx);
نمودارهای پراکنده از سلولهای X و Y جداگانه استفاده میکنند و نمودارهای حبابی همچنین از سلول اندازه استفاده میکنند. فقط سلولی را که نمایانگر مقدار هدف شماست پاک کنید. هنگام تمایل به نگه داشتن سایر نقاط، از فراخوانی IChartDataPointCollection.Clear خودداری کنید، زیرا این متد تمام نقاط دادهٔ مجموعه را حذف میکند.
کنترل نمایش سلولهای خالی
سلولهای مخفی که شامل مقادیر هستند مورد متفاوتی نسبت به سلولهای خالی هستند. برای شامل یا حذف دادهها از ردیفها و ستونهای مخفی شیت، به Include Data from Hidden Rows and Columns مراجعه کنید.
یک سلول خالی در دفتر کار نشاندهندهٔ دادهٔ از دست رفته است؛ یک سلول حاوی 0 نشاندهندهٔ مقدار عددی شناختهشده است. برای خالی کردن یک سلول، IChartDataCell.Value را به null تنظیم کنید. صفر عددی همچنان صفر میماند صرفنظر از تنظیم خالی‑سلول.
از IChart.DisplayBlanksAs برای انتخاب نحوهٔ نمایش سلولهای خالی استفاده کنید. این تنظیم برای تمام نمودار اعمال میشود. این تنظیم نحوهٔ رسم خالیها را تغییر میدهد، بدون اینکه سلول خالی دفتر کار با صفر یا مقدار درونیابی پر شود.
مثال زیر یک نمودار خطی با یک مجموعه میسازد، مقدار روز ۳ را پاک میکند و هر حالت را ذخیره میکند. نیازی به فایل ورودی نیست. IChartDataWorkbook از شیت ۰، ستون ۰ برای برچسبهای دسته و ستون ۱ برای مقادیر استفاده میکند؛ ردیف ۰ نام مجموعه را نگه میدارد. دادهٔ نهایی 10, 20, empty, 30, 40 است.
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
using var presentation = new Presentation();
var slide = presentation.Slides[0];
var chart = slide.Shapes.AddChart(ChartType.LineWithMarkers, 40, 40, 640, 400);
var chartData = chart.ChartData;
var workbook = chartData.ChartDataWorkbook;
chartData.Series.Clear();
chartData.Categories.Clear();
var seriesNameCell = workbook.GetCell(0, 0, 1, "Measurements");
var series = chartData.Series.Add(seriesNameCell, chart.Type);
var values = new[] { 10, 20, 25, 30, 40 };
for (var i = 0; i < values.Length; i++)
{
var categoryCell = workbook.GetCell(0, i + 1, 0, $"Day {i + 1}");
chartData.Categories.Add(categoryCell);
var valueCell = workbook.GetCell(0, i + 1, 1, values[i]);
series.DataPoints.AddDataPointForLineSeries(valueCell);
}
// روز ۳ را واقعاً خالی بگذارید، در حالی که دستهبندی و نقطه داده آن را نگه میدارید.
workbook.GetCell(0, 3, 1).Value = null;
var modes = new[] { DisplayBlanksAsType.Gap, DisplayBlanksAsType.Zero, DisplayBlanksAsType.Span };
foreach (var mode in modes)
{
chart.DisplayBlanksAs = mode;
presentation.Save($"empty_cells_{mode}.pptx", SaveFormat.Pptx);
}
هر فایل خروجی حالت اختصاص دادهشده قبل از ذخیرهسازی را نشان میدهد: empty_cells_Gap.pptx، empty_cells_Zero.pptx و empty_cells_Span.pptx. برای ذخیرهٔ تنها یک نسخه، حالت مورد نظر را تنظیم کنید و یک بار ارائه را ذخیره کنید به جای تکرار بر حالتها.
مقایسه زیر همان داده را در هر سه فایل نشان میدهد. روز ۳ در هر حالت در دفتر کار خالی است:

اثر قابل مشاهده به نوع نمودار بستگی دارد. یک نمودار خطی تمام سه حالت را بهراحتی مقایسه میکند. نمودارهای میله و ستونی خطی برای اتصال بین دستههای گمشده ندارند، بنابراین Span نمیتواند بخش متصلشده نشان داده شده را تولید کند؛ یک ستون گمشده و یک ستون با ارتفاع صفر نیز میتوانند مشابه به نظر برسند. بهطور مشابه، یک نمودار پراکنده فقط دارای مارکر است و خط متصلی ندارد. انتظار نتایج سهگانهٔ متمایز برای هر نوع نمودار را نداشته باشید؛ خروجی را برای نوعی که استفاده میکنید بررسی کنید.
تنظیم عرض فاصلهٔ مجموعه
عرض فاصله (Gap width) فضای بین خوشههای میله یا ستون مجاور است که بهعنوان درصدی از عرض میله یا ستون بیان میشود. مشابه همپوشانی، این تنظیم به گروه مجموعهٔ والد تعلق دارد نه به یک مجموعهٔ خاص. برای گروه یکبار IChartSeriesGroup.GapWidth را تنظیم کنید. مقدار بزرگتر فضای بیشتری بین خوشهها ایجاد میکند؛ مقدار کوچکتر آنها را متراکم میکند.
مثال زیر عرض فاصله را تغییر میدهد و تنها ارائهٔ نهایی را ذخیره میکند:
using Aspose.Slides;
using Aspose.Slides.Charts;
using Aspose.Slides.Export;
const int firstSlideIndex = 0;
const int firstSeriesIndex = 0;
const int gapWidthPercent = 30;
using var presentation = new Presentation();
var slide = presentation.Slides[firstSlideIndex];
var chart = slide.Shapes.AddChart(ChartType.StackedColumn, 20, 20, 500, 200);
var series = chart.ChartData.Series[firstSeriesIndex];
series.ParentSeriesGroup.GapWidth = gapWidthPercent;
presentation.Save("gap_width_30.pptx", SaveFormat.Pptx);
نتیجه:

سوالات متداول
کدام انواع نمودارها از مجموعه داده پشتیبانی میکنند؟
تمامی انواع نمودارهای تعریفشده توسط شمارش ChartType از دادههای نمودار استفاده میکنند، اما ساختار مقدار یا تنظیمات مجموعه برای همهٔ آنها یکسان نیست. برای مثال، نمودارهای دستهای از دستهها و مقادیر استفاده میکنند، نمودارهای پراکنده از مقادیر X و Y، و نمودارهای حبابی اندازه حبابها را نیز اضافه میکنند. از روش ایجاد نقطه دادهای استفاده کنید که با نوع مجموعه مطابقت داشته باشد. گزینههایی مانند همپوشانی و عرض فاصله فقط برای گروههای میله یا ستون سازگار اعمال میشوند.
یک گروه مجموعهٔ نمودار چیست؟
یک IChartSeriesGroup مجموعهای از مجموعههای سازگار است که تنظیمات رسم در سطح گروه را به اشتراک میگذارند. یک نمودار ترکیبی میتواند بیش از یک گروه داشته باشد، بنابراین تغییر گروهی که از طریق یک مجموعه دسترسی پیدا میشود، لزوماً تمام مجموعههای نمودار را تغییر نمیدهد.
آیا یک نمودار تازه ایجادشده شامل دادههای پیشفرض است؟
بله. بهصورت پیشفرض، IShapeCollection.AddChart مجموعهها، دستهها و مقادیر نمونهای ایجاد میکند. میتوانید این سلولها را ویرایش کنید یا قبل از افزودن یک مجموعهٔ کاملاً سفارشی، هر دو مجموعه و دستهها را پاک کنید. یک overload نیز میتواند نموداری بدون دادهٔ پیشفرض ایجاد کند.
چگونه اشیای نمودار به سلولهای دفتر کار متصل میشوند؟
نامهای مجموعه، برچسبهای دسته و مقادیر نقطه داده به سلولهای یک IChartDataWorkbook ارجاع میدهند. تغییر یک سلول ارجاعشده، عنصر مربوط به نمودار را بهروزرسانی میکند. هنگام ساخت دادههای سفارشی، ردیفهای دسته و ردیفهای مقادیر مجموعه را همتراز نگه دارید تا هر نقطه زیر دستهٔ موردنظر رسم شود.
چگونه یک نقطه را بهجای کل مجموعه پاک کنم؟
سلول مقدار مربوطه را به null تنظیم کنید تا موقعیت دستهٔ نقطه بهعنوان یک نقطهٔ خالی حفظ شود. از IChartDataPointCollection.Clear تنها زمانی استفاده کنید که قصد حذف تمام نقاط از آن مجموعه را داشته باشید. اگر دستهها را نیز حذف میکنید، باید هر مجموعه را طوری بهروزرسانی کنید که مقادیرشان با مجموعهٔ دسته همتراز بمانند.
نقاط خالی چگونه نمایش داده میشوند؟
نتیجه بستگی به نوع نمودار و IChart.DisplayBlanksAs دارد. نمودارهای پشتیبانیشده میتوانند خالیها را بهعنوان گپها، بهعنوان مقدار صفر یا با اتصال نقاط همسایه نمایش دهند. تنظیمی را انتخاب کنید که با معنای دادههای گمشده در ارائهٔ شما منطبق باشد. برای یک مثال کامل و مقایسهٔ تصویری، به Control the Display of Empty Cells مراجعه کنید.
مقادیر منفی چگونه قالببندی میشوند؟
برای مجموعههای میله، ستون و حباب پشتیبانیشده، IChartSeries.InvertIfNegative را فعال کنید و IChartSeries.InvertedSolidFillColor را تنظیم کنید. میتوانید رفتار را برای یک نقطهٔ منفرد با IChartDataPoint.InvertIfNegative بازنویسی کنید. این ویژگیها فقط نمایش را تحت تأثیر قرار میدهند، نه مقادیر عددی ذخیرهشده.
وقتی هم مجموعه و هم نقطه قالببندی شده باشند، کدام فرمت برتری دارد؟
قالببندی صریح نقطه داده برای آن نقطه اولویت دارد. نقاط دیگر به قالببندی صریح مجموعه یا، در صورت عدم تعریف قالببندی مجموعه، به سبک و تم خودکار نمودار ادامه میدهند. ویژگیهای گروهی مانند همپوشانی و عرض فاصله تنظیمات چیدمان هستند و بر روی قالببندی نقطهای تأثیری ندارند.
آیا محدودیتی برای تعداد مجموعههای یک نمودار وجود دارد؟
Aspose.Slides محدودیت ثابت جداگانهای برای تعداد مجموعهها اعمال نمیکند. در عمل، محدودیتهای فایل ارائه، حافظه موجود، زمان رندر و قابلیت خواندن نمودار، تعیینکنندهٔ حد مفید هستند.
در صورتی که ستونها بیش از حد نزدیک یا دور باشند، چه کاری باید انجام دهم؟
IChartSeriesGroup.GapWidth را در گروه مجموعهٔ والد مناسب تنظیم کنید. برای گستردهتر کردن فضا بین خوشهها مقدار را افزایش دهید یا برای نزدیک کردن خوشهها مقدار را کاهش دهید.