Управление маркерами данных диаграммы в презентациях на .NET
Установить параметры маркеров диаграммы
Маркеры можно задавать для точек данных диаграммы в отдельных сериях. Чтобы установить параметры маркеров диаграммы, выполните следующие шаги:
- Создайте экземпляр класса Presentation.
- Создайте диаграмму по умолчанию.
- Установите изображение.
- Получите первую серию диаграммы.
- Добавьте новую точку данных.
- Запишите презентацию на диск.
В приведённом ниже примере мы задали параметры маркеров диаграммы на уровне точек данных.
// Создайте экземпляр класса Presentation
using Presentation presentation = new Presentation();
ISlide slide = presentation.Slides[0];
// Получение индекса листа данных диаграммы по умолчанию
int defaultWorksheetIndex = 0;
// Получение листа данных диаграммы
IChartDataWorkbook fact = chart.ChartData.ChartDataWorkbook;
// Удалить демонстрационную серию
chart.ChartData.Series.Clear();
// Добавить новую серию
chart.ChartData.Series.Add(fact.GetCell(defaultWorksheetIndex, 1, 1, "Series 1"), chart.Type);
// Установить изображение
using IImage image1 = Images.FromFile("aspose-logo.jpg");
IPPImage imgx1 = presentation.Images.AddImage(image1);
// Установить изображение
using IImage image2 = Images.FromFile("Tulips.jpg");
IPPImage imgx2 = presentation.Images.AddImage(image2);
// Получить первую серию диаграммы
IChartSeries series = chart.ChartData.Series[0];
// Добавить новую точку (1:3) туда.
IChartDataPoint point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 1, 1, (double)4.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 2, 1, (double)2.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 3, 1, (double)3.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx1;
point = series.DataPoints.AddDataPointForLineSeries(fact.GetCell(defaultWorksheetIndex, 4, 1, (double)4.5));
point.Marker.Format.Fill.FillType = FillType.Picture;
point.Marker.Format.Fill.PictureFillFormat.Picture.Image = imgx2;
// Изменение маркера серии диаграммы
series.Marker.Size = 15;
// Сохранить презентацию на диск
presentation.Save("MarkOptions_out.pptx", SaveFormat.Pptx);
FAQ
Какие формы маркеров доступны из коробки?
Доступны стандартные формы (круг, квадрат, ромб, треугольник и т.д.); список определён в перечислении MarkerStyleType. Если вам нужна нестандартная форма, используйте маркер с заливкой изображением, чтобы имитировать пользовательские визуальные элементы.
Сохраняются ли маркеры при экспорте диаграммы в изображение или SVG?
Да. При рендеринге диаграмм в raster formats или сохранении shapes as SVG, маркеры сохраняют свой внешний вид и настройки, включая размер, заливку и контур.