Anpassade skiv eller sektorfärger i tårtdiagram med C++
Contents
 [
      
        Hide
      ]
    
Den här artikeln förklarar hur man lägger till anpassade färger i cirkeldiagramskivor/sektorer. Som standard använder cirkeldiagram Microsoft Excels standardmall. För att använda andra färger måste du omdefiniera färgerna i diagrammet.
För att ställa in en anpassad färg för en cirkeldiagrams individuella skivor eller sektorer:
- Öppna Seriess ChartPoint.
 - Tilldela önskad färg med hjälp av ChartPoint.GetForegroundColor()s egenskap.
 
Den här artikeln förklarar också hur man:
- En diagrams kategoridata.
 - En diagramtitel länkad till en cell.
 - Typsnittsinställningar för diagramtiteln.
 - Placeringen av legenden.
 
ChartPoint.GetForegroundColor() är inte specifikt för cirkeldiagram men kan användas för alla typer av diagram.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
    Aspose::Cells::Startup();
    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");
    // Create a workbook object
    Workbook workbook;
    // Access the first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);
    // Put the sample values used in a pie chart
    worksheet.GetCells().Get(u"C3").PutValue(u"India");
    worksheet.GetCells().Get(u"C4").PutValue(u"China");
    worksheet.GetCells().Get(u"C5").PutValue(u"United States");
    worksheet.GetCells().Get(u"C6").PutValue(u"Russia");
    worksheet.GetCells().Get(u"C7").PutValue(u"United Kingdom");
    worksheet.GetCells().Get(u"C8").PutValue(u"Others");
    // Put the sample values used in a pie chart
    worksheet.GetCells().Get(u"D2").PutValue(u"% of world population");
    worksheet.GetCells().Get(u"D3").PutValue(25);
    worksheet.GetCells().Get(u"D4").PutValue(30);
    worksheet.GetCells().Get(u"D5").PutValue(10);
    worksheet.GetCells().Get(u"D6").PutValue(13);
    worksheet.GetCells().Get(u"D7").PutValue(9);
    worksheet.GetCells().Get(u"D8").PutValue(13);
    // Create a pie chart with desired length and width
    int pieIdx = worksheet.GetCharts().Add(ChartType::Pie, 1, 6, 15, 14);
    // Access the pie chart
    Chart pie = worksheet.GetCharts().Get(pieIdx);
    // Set the pie chart series
    pie.GetNSeries().Add(u"D3:D8", true);
    // Set the category data
    pie.GetNSeries().SetCategoryData(u"=Sheet1!$C$3:$C$8");
    // Set the chart title that is linked to cell D2
    pie.GetTitle().SetLinkedSource(u"D2");
    // Set the legend position at the bottom
    pie.GetLegend().SetPosition(LegendPositionType::Bottom);
    // Set the chart title's font name and color
    pie.GetTitle().GetFont().SetName(u"Calibri");
    pie.GetTitle().GetFont().SetSize(18);
    // Access the chart series
    Series srs = pie.GetNSeries().Get(0);
    // Color the individual points with custom colors
    srs.GetPoints().Get(0).GetArea().SetForegroundColor(Color{0, 246, 22, 219});
    srs.GetPoints().Get(1).GetArea().SetForegroundColor(Color{0, 51, 34, 84});
    srs.GetPoints().Get(2).GetArea().SetForegroundColor(Color{0, 46, 74, 44});
    srs.GetPoints().Get(3).GetArea().SetForegroundColor(Color{0, 19, 99, 44});
    srs.GetPoints().Get(4).GetArea().SetForegroundColor(Color{0, 208, 223, 7});
    srs.GetPoints().Get(5).GetArea().SetForegroundColor(Color{0, 222, 69, 8});
    // Autofit all columns
    worksheet.AutoFitColumns();
    // Save the workbook
    U16String outputPath = outDir + u"output.out.xlsx";
    workbook.Save(outputPath, SaveFormat::Xlsx);
    Aspose::Cells::Cleanup();
}