Anpassa diagram med C++
Skapa Anpassade Diagram
Hittills har vi när vi diskuterat diagram sett på standarddiagram som har sina standardinställningar. Vi definierar bara datakällan, ställer in några få egenskaper, och diagrammet skapas med dess standardformat. Men Aspose.Cells API:er stöder också att skapa anpassade diagram som tillåter utvecklare att skapa diagram med egna formateringsinställningar.
Utvecklare kan skapa anpassade diagram vid körning med Aspose.Cells.
Ett diagram består av en dataserie. Varje dataserie i Aspose.Cells representeras av ett Series-objekt medan ett SeriesCollection-objekt fungerar som en samling av Series-objekt. Vid skapandet av ett anpassat diagram har utvecklare friheten att använda olika typer av diagram för olika dataserier (insamlade i SeriesCollection-objekt).
Exempelkoden nedan visar hur man skapar anpassade diagram. I det här exemplet kommer vi att använda ett stapeldiagram för den första dataserien och ett linjediagram för den andra serien. Resultatet är att vi lägger till ett stapeldiagram, kombinerat med ett linjediagram, till arbetsbladet.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Charts;
int main()
{
Aspose::Cells::Startup();
<span class="c1">// Source directory path
U16String srcDir(u"..\Data\01_SourceDirectory\");
<span class="c1">// Output directory path
U16String outDir(u"..\Data\02_OutputDirectory\");
<span class="c1">// Create a new workbook
Workbook workbook;
<span class="c1">// Add a new worksheet to the workbook
int sheetIndex = workbook.GetWorksheets().Add();
<span class="c1">// Obtain the reference of the newly added worksheet by passing its sheet index
Worksheet worksheet = workbook.GetWorksheets().Get(sheetIndex);
<span class="c1">// Add sample values to cells
worksheet.GetCells().Get(u"A1").PutValue(50);
worksheet.GetCells().Get(u"A2").PutValue(100);
worksheet.GetCells().Get(u"A3").PutValue(150);
worksheet.GetCells().Get(u"A4").PutValue(110);
worksheet.GetCells().Get(u"B1").PutValue(260);
worksheet.GetCells().Get(u"B2").PutValue(12);
worksheet.GetCells().Get(u"B3").PutValue(50);
worksheet.GetCells().Get(u"B4").PutValue(100);
<span class="c1">// Add a chart to the worksheet
int chartIndex = worksheet.GetCharts().Add(ChartType::Column, 5, 0, 15, 5);
<span class="c1">// Access the instance of the newly added chart
Chart chart = worksheet.GetCharts().Get(chartIndex);
<span class="c1">// Add NSeries (chart data source) to the chart ranging from "A1" cell to "B4"
chart.GetNSeries().Add(u"A1:B4", true);
<span class="c1">// Set the chart type of 2nd NSeries to display as line chart
chart.GetNSeries().Get(1).SetType(ChartType::Line);
<span class="c1">// Save the Excel file
workbook.Save(outDir + u"output.xls");
<span class="n">std</span><span class="o">::</span><span class="n">cout</span> <span class="o"><<</span> <span class="s">"Chart created successfully!"</span> <span class="o"><<</span> <span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span>
<span class="n">Aspose</span><span class="o">::</span><span class="n">Cells</span><span class="o">::</span><span class="n">Cleanup</span><span class="p">();</span>
}
För närvarande stöder Aspose.Cells endast anpassade diagram som kombinerar pip-, linje-, kolumn- och stapeldiagram, men fler diagram kommer att stödas i framtida versioner.