Создание диаграмм торнадо в Excel с использованием C#

Диаграмма торнадо — мощный инструмент для сравнения точек данных и визуализации потенциальных изменений. В этом сообщении блога мы узнаем, как создать диаграмму торнадо в Excel с использованием C#. Эта статья научит вас, как создавать классные диаграммы и графики, которые можно добавлять прямо в ваши приложения, с помощью простых инструкций!

В этой статье рассматриваются следующие темы:

C# API для создания диаграмм Tornado в Excel

Aspose.Cells for .NET — это мощный API, который позволяет разработчикам создавать, манипулировать и конвертировать файлы Excel без использования Microsoft Excel. Среди множества функций он предоставляет комплексные возможности построения диаграмм для создания диаграмм и управления ими в электронных таблицах.

Чтобы использовать API, загрузите DLL или установите ее из NuGet с помощью следующей команды:

PM> Install-Package Aspose.Cells 

Создайте диаграмму Торнадо в Excel, используя C#

Теперь мы можем легко создать диаграмму торнадо на листе Excel, выполнив следующие шаги:

  1. Загрузите файл Excel, используя класс Workbook.
  2. Получите нужный рабочий лист в объект класса Worksheet.
  3. При необходимости вставьте данные в рабочий лист.
  4. Добавьте столбчатую диаграмму с накоплением с помощью метода Charts.Add().
  5. Доступ к диаграмме по ее индексу в объекте класса Chart.
  6. Задайте источник данных для диаграммы с помощью метода SetChartDataRange().
  7. Установите необходимые свойства диаграммы.
  8. Наконец, сохраните документ с помощью метода Save().

В следующем примере кода показано, как создать диаграмму торнадо в Excel с помощью C#.

// Загрузите существующий файл Excel с данными
Workbook wb = new Workbook("D:\\Files\\sample.xlsx");

// Доступ к рабочему листу
Worksheet sheet = wb.Worksheets[0];

// Получить диаграммы
ChartCollection charts = sheet.Charts;

// Добавить гистограмму
int index = charts.Add(ChartType.BarStacked, 8, 1, 24, 8);
Chart chart = charts[index];

// Установить данные для гистограммы
chart.SetChartDataRange("A1:C7", true);

// Установить свойства гистограммы
chart.Title.Text = "Tornado chart";
chart.Style = 2;
chart.PlotArea.Area.ForegroundColor = Color.White;
chart.PlotArea.Border.Color = Color.White;
chart.Legend.Position = LegendPositionType.Bottom;

chart.CategoryAxis.TickLabelPosition = TickLabelPositionType.Low;
chart.CategoryAxis.IsPlotOrderReversed = true;

chart.GapWidth = 10;

Axis valueAxis = chart.ValueAxis;
valueAxis.TickLabels.NumberFormat = "#,##0;#,##0";

// Сохраните файл
wb.Save("D:\\Files\\out.xlsx");
Создайте диаграмму Торнадо в Excel, используя C#

Создайте диаграмму Торнадо в Excel, используя C#

Вставьте данные и создайте диаграмму Торнадо в Excel

В предыдущем разделе мы создали диаграмму торнадо, используя лист с предварительно заполненными данными. Мы также можем вставлять данные в лист Excel, используя метод PutValue() класса Cells. Остальная часть процесса создания диаграммы торнадо останется прежней.

В следующем примере кода показано, как вставить данные, а затем создать диаграмму торнадо в Excel с помощью C#.

// Создайте новую книгу Excel
Workbook wb = new Workbook();
Worksheet worksheet = wb.Worksheets[0];

// Добавление выборочных значений в ячейки
worksheet.Cells["A1"].PutValue("Products");
worksheet.Cells["A2"].PutValue("Product A");
worksheet.Cells["A3"].PutValue("Product B");
worksheet.Cells["A4"].PutValue("Product C");
worksheet.Cells["A5"].PutValue("Product D");
worksheet.Cells["A6"].PutValue("Product E");

worksheet.Cells["B1"].PutValue("2021-2022");
worksheet.Cells["B2"].PutValue(-100);
worksheet.Cells["B3"].PutValue(-80);
worksheet.Cells["B4"].PutValue(-75);
worksheet.Cells["B5"].PutValue(-60);
worksheet.Cells["B6"].PutValue(-48);

worksheet.Cells["C1"].PutValue("2023-2024");
worksheet.Cells["C2"].PutValue(95);
worksheet.Cells["C3"].PutValue(80);
worksheet.Cells["C4"].PutValue(72);
worksheet.Cells["C5"].PutValue(65);
worksheet.Cells["C6"].PutValue(45);

ChartCollection charts = worksheet.Charts;
// Добавить гистограмму
int index = charts.Add(ChartType.BarStacked, 8, 1, 24, 8);
Chart chart = charts[index];

// Установить данные для гистограммы
chart.SetChartDataRange("A1:C6", true);

// Установить свойства гистограммы
chart.Title.Text = "Tornado chart";
chart.Style = 2;
chart.PlotArea.Area.ForegroundColor = Color.White;
chart.PlotArea.Border.Color = Color.White;
chart.Legend.Position = LegendPositionType.Bottom;

chart.CategoryAxis.TickLabelPosition = TickLabelPositionType.Low;
chart.CategoryAxis.IsPlotOrderReversed = true;

chart.GapWidth = 50;

// Показать метки данных
DataLabels datalabels;
for (int i = 0; i < chart.NSeries.Count; i++)
{
    datalabels = chart.NSeries[i].DataLabels;
    //Установите положение DataLabels
    datalabels.Position = LabelPositionType.Center;

    //Показать значение в DataLabels
    datalabels.ShowValue = true;

    datalabels.Font.Color = Color.White;
    datalabels.NumberFormat = "#,##0;#,##0";

}

Axis valueAxis = chart.ValueAxis;
valueAxis.TickLabels.NumberFormat = "#,##0;#,##0";

// Сохраните файл
wb.Save("D:\\Files\\chart_out.xlsx");
Вставьте данные и создайте диаграмму Торнадо в Excel

Вставьте данные и создайте диаграмму Торнадо в Excel

Получите бесплатную лицензию

Пожалуйста, получите бесплатную временную лицензию для создания диаграмм торнадо в Excel без ограничений пробной версии. На нашей странице «Временная лицензия» представлены простые инструкции, позволяющие быстро получить бесплатную лицензию.

Диаграммы торнадо в Excel — бесплатные ресурсы

Помимо создания диаграмм торнадо в Excel с использованием C#, вы можете узнать больше о различных других функциях библиотеки, используя ресурсы ниже:

Заключение

В этой статье мы узнали, как создавать диаграммы торнадо в Excel с помощью C#. От вставки данных в лист Excel до создания диаграмм и настройки свойств диаграмм — Aspose.Cells for .NET API предоставляет полный набор функций для визуализации данных. Выполнив действия, описанные в этой статье, вы сможете легко интегрировать диаграммы торнадо в свои приложения.

В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на нашем бесплатном форуме поддержки.

Смотрите также