Hur du skapar kombinationsdiagram
Möjliga användningsscenario
Kombinationsdiagram i Excel låter dig dra nytta av detta alternativ eftersom du enkelt kan kombinera två eller flera diagramtyper för att göra din data förståelig. Kombinationsdiagram är användbara när din data innehåller flera olika typer av värden, inklusive pris och volym. Dessutom är kombinationsdiagram genomförbara när dina datanummer skiljer sig markant från serie till serie. Med det följande datasättet som exempel kan vi konstatera att dessa data är ganska lika de data som nämns i VHCL. Om vi vill visualisera serie0, som motsvarar “Total Revenue,” som ett Linjediagram, hur ska vi gå tillväga?
Kombinationsdiagram
Efter att ha kört koden nedan kommer du att se kombinationsdiagrammet som visas nedan.
Exempelkod
Följande provkod laddar den provfilen i Excel och genererar den resulterande Excelfilen.
// Create the workbook | |
Workbook workbook = new Workbook("combo.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Add a stock vloume(VHLC) | |
int pieIdx = worksheet.Charts.Add(ChartType.StockVolumeHighLowClose, 15, 0, 34, 12); | |
// Retrieve the Chart object | |
Chart chart = worksheet.Charts[pieIdx]; | |
// Set the legend can be showed | |
chart.ShowLegend = true; | |
// Set the chart title name | |
chart.Title.Text = "Combo Chart"; | |
// Set the Legend at the bottom of the chart area | |
chart.Legend.Position = LegendPositionType.Bottom; | |
// Set data range | |
chart.SetChartDataRange("A1:E12", true); | |
// Set category data | |
chart.NSeries.CategoryData = "A2:A12"; | |
// Set the Series[1] Series[2] and Series[3] to different Marker Style | |
for (int j = 0; j < chart.NSeries.Count; j++) | |
{ | |
switch (j) | |
{ | |
case 1: | |
chart.NSeries[j].Marker.MarkerStyle = ChartMarkerType.Circle; | |
chart.NSeries[j].Marker.MarkerSize = 15; | |
chart.NSeries[j].Marker.Area.Formatting = FormattingType.Custom; | |
chart.NSeries[j].Marker.Area.ForegroundColor = Color.Pink; | |
chart.NSeries[j].Border.IsVisible = false; | |
break; | |
case 2: | |
chart.NSeries[j].Marker.MarkerStyle = ChartMarkerType.Dash; | |
chart.NSeries[j].Marker.MarkerSize = 15; | |
chart.NSeries[j].Marker.Area.Formatting = FormattingType.Custom; | |
chart.NSeries[j].Marker.Area.ForegroundColor = Color.Orange; | |
chart.NSeries[j].Border.IsVisible = false; | |
break; | |
case 3: | |
chart.NSeries[j].Marker.MarkerStyle = ChartMarkerType.Square; | |
chart.NSeries[j].Marker.MarkerSize = 15; | |
chart.NSeries[j].Marker.Area.Formatting = FormattingType.Custom; | |
chart.NSeries[j].Marker.Area.ForegroundColor = Color.LightBlue; | |
chart.NSeries[j].Border.IsVisible = false; | |
break; | |
} | |
} | |
// Set the chart type for Series[0] | |
chart.NSeries[0].Type = ChartType.Line; | |
// Set style for the border of first series | |
chart.NSeries[0].Border.Style = LineType.Solid; | |
// Set Color for the first series | |
chart.NSeries[0].Border.Color = Color.DarkBlue; | |
// Fill the PlotArea area with nothing | |
chart.PlotArea.Area.Formatting = FormattingType.None; | |
// Save the Excel file | |
workbook.Save("out.xlsx"); |