Hantera position, storlek och formgivning av diagram

Diagramposition och storlek

Ibland vill du ändra positionen eller storleken på det nya eller befintliga diagrammet inuti kalkylarket. Aspose.Cells tillhandahåller Chart.ChartObject egenskapen för att uppnå detta. Du kan använda dess underliggande egenskaper för att ändra diagrammet med ny höjd och bredd eller ompositionera det med nya X och Y koordinater.

Kontrollera diagrammets position och storlek

För att ändra diagrammets position (X, Y-koordinater) eller storlek (höjd, bredd), använd dessa egenskaper:

  1. Chart.ChartObject.X
  2. Chart.ChartObject.Y
  3. Chart.ChartObject.Height
  4. Chart.ChartObject.Width

Följande exempel förklarar användningen av ovanstående API:er, den laddar den befintliga arbetsboken som innehåller ett diagram i dess första kalkylblad. Sedan ändrar det storlek och position för diagrammet med 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);
Workbook workbook = new Workbook(dataDir + "chart.xls");
Worksheet worksheet = workbook.Worksheets[1];
// Load the chart from source worksheet
Chart chart = worksheet.Charts[0];
// Resize the chart
chart.ChartObject.Width = 400;
chart.ChartObject.Height = 300;
// Reposition the chart
chart.ChartObject.X = 250;
chart.ChartObject.Y = 150;
// Output the file
workbook.Save(dataDir + "chart.out.xls");

Manipulering av Designerdiagram

Det finns tillfällen då du behöver manipulera eller modifiera diagram i designmallfiler. Aspose.Cells stöder fullständigt manipulation av designmallinnehåll och element. Data, diagraminnehåll, bakgrundsbild och formatering kan bevaras med noggrannhet.

Manipulera designmallar i mallfiler för diagram

För att manipulera designmallar i mallfiler, använd de diagramrelaterade API:erna. Till exempel kan du använda Worksheet.Charts egenskapen för att hämta de befintliga diagrammen i mallfilen.

Skapa ett diagram

Följande exempel visar hur man skapar ett pyramiddiagram. Senare kommer vi att manipulera detta diagram.

// 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 Excel 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(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Pyramid, 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);
// Saving the Excel file
workbook.Save(dataDir + "book1.out.xls");

Manipulera diagrammet

Följande exempel visar hur man manipulerar det befintliga diagrammet. I det här exemplet ändrar vi det skapade diagrammet ovan. I den genererade utmatningen, notera att datumetiketten för en datapunkt har ställts in till ‘Storbritannien, 30K’.

// 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);
// Open the existing file.
Workbook workbook = new Workbook(dataDir + "piechart.xls");
// Get the designer chart in the second sheet.
Worksheet sheet = workbook.Worksheets[1];
Aspose.Cells.Charts.Chart chart = sheet.Charts[0];
// Get the data labels in the data series of the third data point.
Aspose.Cells.Charts.DataLabels datalabels = chart.NSeries[0].Points[2].DataLabels;
// Change the text of the label.
datalabels.Text = "Unided Kingdom, 400K ";
// Save the excel file.
workbook.Save(dataDir + "output.xls");

Manipulera ett linjediagram i designmallen

I det här exemplet kommer vi att manipulera ett linjediagram. Vi kommer att lägga till några data-serier i det befintliga diagrammet och ändra deras linjefärger.

// 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);
// Open the existing file.
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Get the designer chart in the first worksheet.
Aspose.Cells.Charts.Chart chart = workbook.Worksheets[0].Charts[0];
// Add the third data series to it.
chart.NSeries.Add("{60, 80, 10}", true);
// Add another data series (fourth) to it.
chart.NSeries.Add("{0.3, 0.7, 1.2}", true);
// Plot the fourth data series on the second axis.
chart.NSeries[3].PlotOnSecondAxis = true;
// Change the Border color of the second data series.
chart.NSeries[1].Border.Color = Color.Green;
// Change the Border color of the third data series.
chart.NSeries[2].Border.Color = Color.Red;
// Make the second value axis visible.
chart.SecondValueAxis.IsVisible = true;
// Save the excel file.
workbook.Save(dataDir + "output.xls");