Управление позицией, размером и оформлением диаграммы
Позиция и размер диаграммы
Иногда вам может потребоваться изменить позицию или размер новой или существующей диаграммы внутри листа. Aspose.Cells предоставляет свойство Chart.ChartObject для достижения этого. Вы можете использовать его подсвойства для изменения размера диаграммы с новой высотой и шириной или для изменения позиции с новыми координатами X и Y.
Управление позицией и размером диаграммы
Чтобы изменить позицию диаграммы (координаты X, Y) или размер (высота, ширина), используйте эти свойства:
Следующий пример пояснит использование вышеуказанных API, он загружает существующую книгу, содержащую диаграмму на первом листе. Затем он изменяет размер и позицию диаграммы с использованием Aspose.Cells.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "chart.xls"); | |
Worksheet worksheet = workbook.Worksheets[1]; | |
// Load the chart from source worksheet | |
Chart chart = worksheet.Charts[0]; | |
// Resize the chart | |
chart.ChartObject.Width = 400; | |
chart.ChartObject.Height = 300; | |
// Reposition the chart | |
chart.ChartObject.X = 250; | |
chart.ChartObject.Y = 150; | |
// Output the file | |
workbook.Save(dataDir + "chart.out.xls"); |
Манипулирование дизайнерскими диаграммами
Иногда вам может потребоваться манипулировать или изменять диаграммы в файлах дизайнерских шаблонов. Aspose.Cells полностью поддерживает манипулирование содержимым и элементами дизайнерской диаграммы. Данные, содержимое диаграммы, фоновое изображение и форматирование могут быть сохранены с точностью.
Манипулирование дизайнерскими диаграммами в файле-шаблоне
Для манипулирования дизайнерскими диаграммами в файлах-шаблонах используйте связанный с диаграммой API. Например, вы можете использовать свойство Worksheet.Charts для получения коллекции существующих диаграмм в файле-шаблоне.
Создание диаграммы
В следующем примере показано, как создать пирамидальную диаграмму. Позже мы будем изменять эту диаграмму.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
// Adding a new worksheet to the Excel object | |
int sheetIndex = workbook.Worksheets.Add(); | |
// Obtaining the reference of the newly added worksheet by passing its sheet index | |
Worksheet worksheet = workbook.Worksheets[sheetIndex]; | |
// Adding sample values to cells | |
worksheet.Cells["A1"].PutValue(50); | |
worksheet.Cells["A2"].PutValue(100); | |
worksheet.Cells["A3"].PutValue(150); | |
worksheet.Cells["B1"].PutValue(4); | |
worksheet.Cells["B2"].PutValue(20); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 5, 0, 15, 5); | |
// Accessing the instance of the newly added chart | |
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex]; | |
// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3" | |
chart.NSeries.Add("A1:B3", true); | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Изменение диаграммы
В следующем примере показано, как изменить существующую диаграмму. В этом примере мы модифицируем созданную выше диаграмму. В полученном выводе обратите внимание, что метка даты одной точки данных установлена на ‘Великобритания, 30K’.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open the existing file. | |
Workbook workbook = new Workbook(dataDir + "piechart.xls"); | |
// Get the designer chart in the second sheet. | |
Worksheet sheet = workbook.Worksheets[1]; | |
Aspose.Cells.Charts.Chart chart = sheet.Charts[0]; | |
// Get the data labels in the data series of the third data point. | |
Aspose.Cells.Charts.DataLabels datalabels = chart.NSeries[0].Points[2].DataLabels; | |
// Change the text of the label. | |
datalabels.Text = "Unided Kingdom, 400K "; | |
// Save the excel file. | |
workbook.Save(dataDir + "output.xls"); |
Изменение линейной диаграммы в шаблоне конструктора
В этом примере мы будем изменять линейную диаграмму. Мы добавим несколько рядов данных к существующей диаграмме и изменим цвета их линий.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Open the existing file. | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
// Get the designer chart in the first worksheet. | |
Aspose.Cells.Charts.Chart chart = workbook.Worksheets[0].Charts[0]; | |
// Add the third data series to it. | |
chart.NSeries.Add("{60, 80, 10}", true); | |
// Add another data series (fourth) to it. | |
chart.NSeries.Add("{0.3, 0.7, 1.2}", true); | |
// Plot the fourth data series on the second axis. | |
chart.NSeries[3].PlotOnSecondAxis = true; | |
// Change the Border color of the second data series. | |
chart.NSeries[1].Border.Color = Color.Green; | |
// Change the Border color of the third data series. | |
chart.NSeries[2].Border.Color = Color.Red; | |
// Make the second value axis visible. | |
chart.SecondValueAxis.IsVisible = true; | |
// Save the excel file. | |
workbook.Save(dataDir + "output.xls"); |