X-axel vs. Kategori Axel
Möjliga användningsscenarier
Det finns olika typer av X-axlar. Medan Y-axeln är en värdetypsaxel, kan X-axeln vara en kategoritypaxel eller en värdetypaxel. Med hjälp av en värdeaxel behandlas data som kontinuerligt varierande numeriska data, och markören placeras vid en punkt längs axeln som varierar enligt dess numeriska värde. Med hjälp av en kategoriaxel behandlas data som en sekvens av icke-numeriska textetiketter, och markören placeras vid en punkt längs axeln enligt dess position i sekvensen. Exemplet nedan illustrerar skillnaden mellan värde- och kategoriaxlar. Våra exempeldata visas iexempel på tabellfil Nedan. Den första kolumnen innehåller våra X-axeldata, som kan behandlas som kategorier eller som värden. Observera att siffrorna inte är jämnt fördelade, och de visas inte ens i numerisk ordning.
Hantera X och kategoriaxel som Microsoft Excel
Vi kommer att visa dessa data på två typer av diagram, det första diagrammet är XY (Scatter) diagram X som värdeaxel, det andra diagrammet är linjediagram X som Kategoriaxel.
Exempelkod
// Create an instance of Workbook | |
Workbook workbook = new Workbook(); | |
// Access the first worksheet. | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Put the sample values used in charts | |
worksheet.Cells["A2"].PutValue(1); | |
worksheet.Cells["A3"].PutValue(3); | |
worksheet.Cells["A4"].PutValue(2.5); | |
worksheet.Cells["A5"].PutValue(3.5); | |
worksheet.Cells["B1"].PutValue("Cats"); | |
worksheet.Cells["C1"].PutValue("Dogs"); | |
worksheet.Cells["D1"].PutValue("Fishes"); | |
worksheet.Cells["B2"].PutValue(7); | |
worksheet.Cells["B3"].PutValue(6); | |
worksheet.Cells["B4"].PutValue(5); | |
worksheet.Cells["B5"].PutValue(4); | |
worksheet.Cells["C2"].PutValue(7); | |
worksheet.Cells["C3"].PutValue(5); | |
worksheet.Cells["C4"].PutValue(4); | |
worksheet.Cells["C5"].PutValue(3); | |
worksheet.Cells["D2"].PutValue(8); | |
worksheet.Cells["D3"].PutValue(7); | |
worksheet.Cells["D4"].PutValue(3); | |
worksheet.Cells["D5"].PutValue(2); | |
//Create Line Chart: X as Category Axis | |
int pieIdx = worksheet.Charts.Add(ChartType.LineWithDataMarkers, 6, 15, 20, 21); | |
// Retrieve the Chart object | |
Chart chart = worksheet.Charts[pieIdx]; | |
// Add Series | |
chart.NSeries.Add("B2:D5", true); | |
// Set the category data | |
chart.NSeries.CategoryData = "=Sheet1!$A$2:$A$5"; | |
// Set the first series mame | |
chart.NSeries[0].Name = "Cats"; | |
// Set the second series mame | |
chart.NSeries[1].Name = "Dogs"; | |
// Set the third series mame | |
chart.NSeries[2].Name = "Fishes"; | |
// Set the Legend at the bottom of the chart area | |
chart.Legend.Position = LegendPositionType.Bottom; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.FillFormat.FillType = FillType.None; | |
// Create XY (Scatter) Chart: X as Value Axis | |
pieIdx = worksheet.Charts.Add(ChartType.ScatterConnectedByLinesWithDataMarker, 6, 6, 20, 12); | |
// Retrieve the Chart object | |
chart = worksheet.Charts[pieIdx]; | |
// Add Series | |
chart.NSeries.Add("B2:D5", true); | |
// Set X values for series | |
chart.NSeries[0].XValues = "{1,3,2.5,3.5}"; | |
chart.NSeries[1].XValues = "{1,3,2.5,3.5}"; | |
chart.NSeries[2].XValues = "{1,3,2.5,3.5}"; | |
// Set the first series mame | |
chart.NSeries[0].Name = "Cats"; | |
// Set the second series mame | |
chart.NSeries[1].Name = "Dogs"; | |
// Set the third series mame | |
chart.NSeries[2].Name = "Fishes"; | |
// Set the Legend at the bottom of the chart area | |
chart.Legend.Position = LegendPositionType.Bottom; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.FillFormat.FillType = FillType.None; | |
// Save the Excel file | |
workbook.Save("XAxis.xlsx"); |