Настройка внешнего вида графика
Настройка внешнего вида диаграммы
В статье Как создать график мы дали краткое введение в типы графиков и объекты построения предлагаемые Aspose.Cells и описали, как создать их. В этой статье рассматривается, как настроить внешний вид графиков путем установки их свойств:
- Установка области графика.
- Установка линий графика.
- Применение тем.
- Установка заголовков для графиков и осей. Работа с линиями сетки.
Установка области диаграммы
В диаграмме существуют различные виды областей, и 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); | |
// 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 Workbook 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(60); | |
worksheet.Cells["B2"].PutValue(32); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 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); | |
// Setting the foreground color of the plot area | |
chart.PlotArea.Area.ForegroundColor = Color.Blue; | |
// Setting the foreground color of the chart area | |
chart.ChartArea.Area.ForegroundColor = Color.Yellow; | |
// Setting the foreground color of the 1st SeriesCollection area | |
chart.NSeries[0].Area.ForegroundColor = Color.Red; | |
// Setting the foreground color of the area of the 1st SeriesCollection point | |
chart.NSeries[0].Points[0].Area.ForegroundColor = Color.Cyan; | |
// Filling the area of the 2nd SeriesCollection with a gradient | |
chart.NSeries[1].Area.FillFormat.SetOneColorGradient(Color.Lime, 1, Aspose.Cells.Drawing.GradientStyleType.Horizontal, 1); | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Установка линий диаграммы
Разработчики также могут применять различные виды стилей для линий или маркеров данных Коллекции серий. В следующем фрагменте кода демонстрируется, как установить линии диаграммы с использованием 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); | |
// 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 Workbook 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(60); | |
worksheet.Cells["B2"].PutValue(32); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 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); | |
// Setting the foreground color of the plot area | |
chart.PlotArea.Area.ForegroundColor = Color.Blue; | |
// Setting the foreground color of the chart area | |
chart.ChartArea.Area.ForegroundColor = Color.Yellow; | |
// Setting the foreground color of the 1st SeriesCollection area | |
chart.NSeries[0].Area.ForegroundColor = Color.Red; | |
// Setting the foreground color of the area of the 1st SeriesCollection point | |
chart.NSeries[0].Points[0].Area.ForegroundColor = Color.Cyan; | |
// Filling the area of the 2nd SeriesCollection with a gradient | |
chart.NSeries[1].Area.FillFormat.SetOneColorGradient(Color.Lime, 1, Aspose.Cells.Drawing.GradientStyleType.Horizontal, 1); | |
// Applying a dotted line style on the lines of a SeriesCollection | |
chart.NSeries[0].Border.Style = Aspose.Cells.Drawing.LineType.Dot; | |
// Applying a triangular marker style on the data markers of a SeriesCollection | |
chart.NSeries[0].Marker.MarkerStyle = Aspose.Cells.Charts.ChartMarkerType.Triangle; | |
// Setting the weight of all lines in a SeriesCollection to medium | |
chart.NSeries[1].Border.Weight = Aspose.Cells.Drawing.WeightType.MediumLine; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Применение тем Microsoft Excel 2007/2010 к диаграммам
Разработчики могут применять различные темы/цвета Microsoft Excel к Коллекции серий и другим объектам диаграммы, как показано ниже в примере.
// 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); | |
// Instantiate the workbook to open the file that contains a chart | |
Workbook workbook = new Workbook(dataDir + "book1.xlsx"); | |
// Get the first worksheet | |
Worksheet worksheet = workbook.Worksheets[1]; | |
// Get the first chart in the sheet | |
Chart chart = worksheet.Charts[0]; | |
// Specify the FilFormat's type to Solid Fill of the first series | |
chart.NSeries[0].Area.FillFormat.FillType = Aspose.Cells.Drawing.FillType.Solid; | |
// Get the CellsColor of SolidFill | |
CellsColor cc = chart.NSeries[0].Area.FillFormat.SolidFill.CellsColor; | |
// Create a theme in Accent style | |
cc.ThemeColor = new ThemeColor(ThemeColorType.Accent6, 0.6); | |
// Apply the them to the series | |
chart.NSeries[0].Area.FillFormat.SolidFill.CellsColor = cc; | |
// Save the Excel file | |
workbook.Save(dataDir + "output.out.xlsx"); |
Настройка заголовков диаграмм или осей
Вы можете использовать Microsoft Excel для установки заголовков диаграммы и её осей в WYSIWYG-среде. Aspose.Cells также позволяет разработчикам устанавливать заголовки диаграммы и её осей во время выполнения. Все диаграммы и их оси содержат свойство Title, которое можно использовать для установки их заголовков, как показано ниже на примере.
В следующем фрагменте кода продемонстрировано, как устанавливать заголовки для диаграмм и осей.
// 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 Workbook 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(60); | |
worksheet.Cells["B2"].PutValue(32); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 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); | |
// Setting the foreground color of the plot area | |
chart.PlotArea.Area.ForegroundColor = Color.Blue; | |
// Setting the foreground color of the chart area | |
chart.ChartArea.Area.ForegroundColor = Color.Yellow; | |
// Setting the foreground color of the 1st SeriesCollection area | |
chart.NSeries[0].Area.ForegroundColor = Color.Red; | |
// Setting the foreground color of the area of the 1st SeriesCollection point | |
chart.NSeries[0].Points[0].Area.ForegroundColor = Color.Cyan; | |
// Filling the area of the 2nd SeriesCollection with a gradient | |
chart.NSeries[1].Area.FillFormat.SetOneColorGradient(Color.Lime, 1, Aspose.Cells.Drawing.GradientStyleType.Horizontal, 1); | |
// Setting the title of a chart | |
chart.Title.Text = "Title"; | |
// Setting the font color of the chart title to blue | |
chart.Title.Font.Color = Color.Blue; | |
// Setting the title of category axis of the chart | |
chart.CategoryAxis.Title.Text = "Category"; | |
// Setting the title of value axis of the chart | |
chart.ValueAxis.Title.Text = "Value"; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |
Работа с основными линиями сетки
Есть возможность настраивать внешний вид основных линий сетки. Скрыть или показать линии сетки или определить их цвет и другие настройки. Ниже показано, как скрыть линии сетки и как изменить их цвет.
Скрытие основных линий сетки
Разработчики могут контролировать видимость основных линий сетки, установив свойство IsVisible объекта Линия на true или false.
Приведенный ниже фрагмент кода демонстрирует, как скрыть основные линии сетки. После скрытия основных линий сетки столбчатая диаграмма будет добавлена на лист и не будет иметь линий сетки.
// 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 Workbook 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(60); | |
worksheet.Cells["B2"].PutValue(32); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 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); | |
// Setting the foreground color of the plot area | |
chart.PlotArea.Area.ForegroundColor = Color.Blue; | |
// Setting the foreground color of the chart area | |
chart.ChartArea.Area.ForegroundColor = Color.Yellow; | |
// Setting the foreground color of the 1st SeriesCollection area | |
chart.NSeries[0].Area.ForegroundColor = Color.Red; | |
// Setting the foreground color of the area of the 1st SeriesCollection point | |
chart.NSeries[0].Points[0].Area.ForegroundColor = Color.Cyan; | |
// Filling the area of the 2nd SeriesCollection with a gradient | |
chart.NSeries[1].Area.FillFormat.SetOneColorGradient(Color.Lime, 1, Aspose.Cells.Drawing.GradientStyleType.Horizontal, 1); | |
// Hiding the major gridlines of Category Axis | |
chart.CategoryAxis.MajorGridLines.IsVisible = false; | |
// Hiding the major gridlines of Value Axis | |
chart.ValueAxis.MajorGridLines.IsVisible = false; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.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); | |
// 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 Workbook 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(60); | |
worksheet.Cells["B2"].PutValue(32); | |
worksheet.Cells["B3"].PutValue(50); | |
// Adding a chart to the worksheet | |
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 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); | |
// Setting the foreground color of the plot area | |
chart.PlotArea.Area.ForegroundColor = Color.Blue; | |
// Setting the foreground color of the chart area | |
chart.ChartArea.Area.ForegroundColor = Color.Yellow; | |
// Setting the foreground color of the 1st SeriesCollection area | |
chart.NSeries[0].Area.ForegroundColor = Color.Red; | |
// Setting the foreground color of the area of the 1st SeriesCollection point | |
chart.NSeries[0].Points[0].Area.ForegroundColor = Color.Cyan; | |
// Filling the area of the 2nd SeriesCollection with a gradient | |
chart.NSeries[1].Area.FillFormat.SetOneColorGradient(Color.Lime, 1, Aspose.Cells.Drawing.GradientStyleType.Horizontal, 1); | |
// Setting the color of Category Axis' major gridlines to silver | |
chart.CategoryAxis.MajorGridLines.Color = Color.Silver; | |
// Setting the color of Value Axis' major gridlines to red | |
chart.ValueAxis.MajorGridLines.Color = Color.Red; | |
// Saving the Excel file | |
workbook.Save(dataDir + "book1.out.xls"); |