Настройка внешнего вида диаграммы

Настройка внешнего вида диаграммы

В разделе «Как создать диаграмму» мы кратко рассказали о типах диаграмм и объектов диаграммы, предлагаемых Aspose.Cells, и описали, как их создать. В этой статье рассматривается, как настроить внешний вид диаграмм, установив их свойства:

  • Установка области диаграммы.
  • Настройка линий графика.
  • Применение тем.
  • Установка заголовков для диаграмм и осей.
  • Работа с линиями сетки.

Настройка области диаграммы

На диаграмме есть разные области, и номер Aspose.Cells позволяет гибко изменять внешний вид каждой области. Разработчики могут применять различные параметры форматирования к области, изменяя ее цвет переднего плана, цвет фона, формат заливки и т. д.

В приведенном ниже примере мы применили разные настройки форматирования к разным областям диаграммы. Эти области включают в себя:

  • Площадь участка
  • Область диаграммы
  • СерияОбласть сбора
  • Площадь одной точки в SeriesCollection

В следующем фрагменте кода показано, как задать область диаграммы.

// 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");

Настройка линий диаграммы

Разработчики также могут применять различные стили к линиям или маркерам данных.СерияКоллекция. В следующем фрагменте кода показано, как задать линии диаграммы с помощью Aspose.Cells API.

// 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");

Применение тем Excel 2007/2010 Microsoft к диаграммам

Разработчики могут применять различные темы/цвета Excel Microsoft кСерияКоллекцияили другие объекты диаграммы, как показано ниже в примере.

// 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 также позволяет разработчикам устанавливать заголовки диаграммы и ее оси во время выполнения. Все диаграммы и их оси содержатЗаголовоксвойство, которое можно использовать для установки их заголовков, как показано ниже в примере.

В следующем фрагменте кода показано, как установить заголовки для диаграмм и осей.

// 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");

Работа с основными линиями сетки

Можно настроить внешний вид основных линий сетки. Скройте или отобразите линии сетки или задайте их цвет и другие параметры. Ниже мы покажем, как скрыть линии сетки и изменить их цвет.

Скрытие основных линий сетки

Разработчики могут контролировать видимость основных линий сетки, устанавливаяВидимый собственностьЛиния Возражатьистинный или жеЛОЖЬ.

В следующем фрагменте кода показано, как скрыть основные линии сетки. После скрытия основных линий сетки на рабочий лист будет добавлена столбчатая диаграмма, не имеющая линий сетки.

// 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");

Предварительные темы