DioDocs for Excel では、スプレッドシートで次の要素を使用して、チャート系列を設定することができます。
DioDocs for Excel の Points コレクションは、特定の系列のすべてのポイントを表すために使用されます。また、系列の特定のポイントを取得するために、IPointsインタフェースのインデクサ表記が使用されます。さらに、IPointインタフェースのDataLabelプロパティを使用して、特定のポイントのデータラベルを取得することができます。
データポイントの書式設定
ワークシートに挿入されたチャートのデータポイントを書式設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; ISeries series2 = shape.Chart.SeriesCollection[1]; ISeries series3 = shape.Chart.SeriesCollection[2]; series1.Format.Fill.Color.RGB = Color.Blue; series1.Points[2].Format.Fill.Color.RGB = Color.Green; |
補助円グラフ付き円グラフの補助セクションの設定
IPoint インタフェースのSecondaryPlotプロパティを使用して、補助円グラフ付き円グラフまたは補助縦棒グラフ付き円グラフの補助セクションにポイントを配置するかどうかを設定できます。
補助円グラフ付き円グラフの補助セクションを設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.PieOfPie, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; shape.Chart.ChartGroups[0].SplitType = ChartSplitType.SplitByCustomSplit; series1.Points[0].SecondaryPlot = true; series1.Points[1].SecondaryPlot = false; series1.Points[2].SecondaryPlot = true; series1.Points[3].SecondaryPlot = false; series1.Points[4].SecondaryPlot = true; |
DioDocs for Excel の DataLabels コレクションを使用して、特定の系列のすべてのデータラベルのコレクションを表します。
IDataLabelインタフェースのFontプロパティとFormatプロパティを使用して、特定の系列のすべてのデータラベルのフォントスタイル、塗りつぶし、線、および 3D 形式を設定できます。また、IDataLabel インタフェースの他のプロパティを使用して、データラベルのレイアウトを設定することもできます。
系列のすべてのデータラベルおよび特定のデータラベルの書式設定
系列のすべてのデータラベルおよび特定のデータラベルを書式設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; //series1のすべてのデータラベルの書式を設定します series1.DataLabels.Format.Fill.Color.RGB = Color.Green; series1.DataLabels.Format.Line.Color.RGB = Color.Red; series1.DataLabels.Format.Line.Weight = 3; //series1の特定のデータラベルの書式を設定します series1.DataLabels[2].Format.Fill.Color.RGB = Color.Yellow; series1.Points[2].DataLabel.Format.Line.Color.RGB = Color.Blue; series1.Points[2].DataLabel.Format.Line.Weight = 5; |
データラベルのテキストのカスタマイズ
データラベルのテキストをカスタマイズする方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; //データラベルのテキストをカスタマイズします series1.DataLabels.ShowCategoryName = true; series1.DataLabels.ShowSeriesName = true; series1.DataLabels.ShowLegendKey = true; |
メモ: DioDocs For Excel 7.0 では、IDataLabel インタフェースの Parent プロパティの戻り値が IPoint ではなく、Object が使用されるようになりましたため、既存のプロジェクトでコンパイル失敗または実行時エラーが発生します。 このエラーを回避するには、次のようにオブジェクトの IPoint への明示的な変換を追加する必要があります。
C# |
コードのコピー
|
---|---|
// 以下はコンパイルエラーとなります。 IPoint pt = series1.DataLabels[0].Parent; // IPoint への明示的な変換を追加します。 IPoint pt = (IPoint)series1.DataLabels[0].Parent |
DioDocs for Excel の Trendlines コレクションを使用して、特定の系列の一連の近似曲線を表します。ITrendlinesインタフェースのAddメソッドを使用して、特定の系列に新しい近似曲線を作成することができます。また、ITrendlines インタフェースのインデクサ表記を使用して、特定の近似曲線を取得することもできます。
系列の近似曲線の追加とスタイルの設定
系列に近似曲線を追加し、そのスタイルを設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.Trendlines.Add(); series1.Trendlines[0].Type = TrendlineType.Linear; series1.Trendlines[0].Forward = 5; series1.Trendlines[0].Backward = 0.5; series1.Trendlines[0].Intercept = 2.5; series1.Trendlines[0].DisplayEquation = true; series1.Trendlines[0].DisplayRSquared = true; |
1 つの系列への 2 本の近似曲線の追加
1 つの系列に 2 本の近似曲線を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.Trendlines.Add(); series1.Trendlines[0].Type = TrendlineType.Linear; series1.Trendlines[0].Forward = 5; series1.Trendlines[0].Backward = 0.5; series1.Trendlines[0].Intercept = 2.5; series1.Trendlines[0].DisplayEquation = true; series1.Trendlines[0].DisplayRSquared = true; series1.Trendlines.Add(); series1.Trendlines[1].Type = TrendlineType.Polynomial; series1.Trendlines[1].Order = 3; |
近似曲線の名前の設定
DioDocs for Excelでは、チャートの近似曲線の名前を設定するには、ITrendlineインタフェースのNameプロパティを使用できます。また、近似曲線の名前をPDFドキュメントにエクスポートすることも可能です。
チャートの近似曲線の名前を追加する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//ワークブックを初期化します Workbook workbook = new Workbook(); //既定のワークシートを取得します IWorksheet worksheet = workbook.Worksheets[0]; //チャートを追加します IShape columnChart = worksheet.Shapes.AddChart(GrapeCity.Documents.Excel.Drawing.ChartType.ColumnClustered, 300, 10, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; //系列を追加します columnChart.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); //最初の系列を取得します ISeries series1 = columnChart.Chart.SeriesCollection[0]; //近似曲線を追加します ITrendline trendline = series1.Trendlines.Add(); //近似曲線の名前を設定します trendline.Name = "Theoretical data"; //Excelファイルに保存します workbook.Save("TrendLineName.xlsx"); |
近似曲線ラベルの書式設定
近似曲線の式ラベルの書式を設定し、PDF ドキュメント、HTML ファイル、または画像形式にエクスポートするには、ITrendline インタフェースの DataLabel プロパティを使用します。このプロパティは、近似曲線に関連付けられたデータラベルを取得します。DataLabel は、ITrendline インタフェースの DisplayEquation プロパティまたは DisplayRSquared プロパティが true の場合にのみ値を返します。これらのプロパティが false の場合、DataLabel プロパティは null を返します。
IDataLabel インタフェースの Font、Format、NumberFormat、Orientation、Direction、および AutoText プロパティを使用して、近似曲線式のラベルを書式設定できます。また、DIoDocs for Excel には、近似曲線式のラベルを削除する Delete メソッドがあります。
近似曲線のデータラベルを書式設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// ワークブックを初期化します。 IWorkbook workbook = new Workbook(); // ワークシートを作成します。 IWorksheet worksheet = workbook.Worksheets[0]; // XY 散布図を追加します。 IShape shape = worksheet.Shapes.AddChart(ChartType.XYScatter, 250, 20, 360, 230); worksheet.Range["A1:C11"].Value = new Object[,] { { null, "Mktng Exp", "Revenue" }, { "Company 1", 1849, 2911 }, { "Company 2", 2708, 5777 }, { "Company 3", 3474, 8625 }, { "Company 4", 4681, 9171 }, { "Company 5", 5205, 10308 }, { "Company 6", 5982, 11779 }, { "Company 7", 8371, 12138 }, { "Company 8", 8457, 17074 }, { "Company 9", 9554, 15729 }, { "Company 10", 9604, 19610 } }; shape.Chart.SeriesCollection.Add(worksheet.Range["B1:C11"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; // 近似曲線を追加します。 ITrendline trendline = series1.Trendlines.Add(); trendline.Type = TrendlineType.Linear; // 近似曲線の式を表示します。 trendline.DisplayEquation = true; // 近似曲線のデータラベルを書式設定します。 IDataLabel trendlineDataLabel = trendline.DataLabel; trendlineDataLabel.Font.Color.RGB = Color.Purple; trendlineDataLabel.Font.Size = 11; trendlineDataLabel.Format.Fill.Color.ObjectThemeColor = ThemeColor.Accent4; trendlineDataLabel.Format.Line.Color.ObjectThemeColor = ThemeColor.Accent2; // PDF エクスポートの用紙サイズを設定します。 worksheet.PageSetup.PaperSize = PaperSize.A3; // ワークブックを保存します。 workbook.Save("DataLabelTrendline.xlsx"); // ワークブックを PDF ドキュメントとしてエクスポートします。 workbook.Save("DataLabelTrendline.pdf"); |
Parent プロパティ (ITrendline.DataLabel.Parent) は、指定された近似曲線の親オブジェクトを返します。 戻り値の型は ITrendline を戻り値としたオブジェクトです
C# |
コードのコピー
|
---|---|
ITrendline trendline = (ITrendline)trendline.DataLabel.Parent; |
メモ:似曲線式のラベルを使用すると、IDataLabel インタフェースの次のプロパティをサポートしていないため、それらを呼び出すと NotSupportedException が発生します。
制限事項
SpreadJS はデフォルトの式と R 値のみをサポートします。 したがって、DioDocs for Excel は近似曲線データ形式を JSON および SJS にエクスポートできません。
チャートグループには、1 つまたは複数の系列に共通の設定が含まれています。通常、これは特定の特徴を持つ系列のグループです。
1 つの系列から成る縦棒グラフに複数の色を設定
系列を 1 つだけ含む縦棒グラフに複数の色を設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.SeriesCollection[2].Delete(); shape.Chart.SeriesCollection[1].Delete(); //チャートの系列数は1です var count = shape.Chart.SeriesCollection.Count; //1つの系列のみを持つ縦棒グラフの色を変えます shape.Chart.ColumnGroups[0].VaryByCategories = true; |
補助円グラフ付き円グラフの分割設定と要素の間隔の設定
補助円グラフ付き円グラフの分割設定と要素の間隔を設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.PieOfPie, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; shape.Chart.PieGroups[0].SplitType = ChartSplitType.SplitByValue; shape.Chart.PieGroups[0].SplitValue = 20; shape.Chart.PieGroups[0].GapWidth = 350; |
縦棒グラフの要素の間隔と重なりの設定
縦棒グラフの要素の間隔と重なりを設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//縦棒グラフの要素の間隔と重なりを設定します IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnClustered, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; shape.Chart.ColumnGroups[0].GapWidth = 120; shape.Chart.ColumnGroups[0].Overlap = -20; |
バブルチャートのレイアウトの設定
バブルチャートのレイアウトを必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
//バブルチャートのレイアウトを構成します IShape shape = worksheet.Shapes.AddChart(ChartType.Bubble, 250, 20, 360, 230); worksheet.Range["A1:C10"].Value = new object[,] { {"青", null, null }, {125, 750, 3 }, {25, 625, 7 }, {75, 875, 5 }, {175, 625, 6}, {"赤",null,null }, {125 ,500 , 10 }, {25, 250, 1 }, {75, 125, 5 }, {175, 250, 8 }, }; shape.Chart.SeriesCollection.Add(worksheet.Range["A2:C5"], RowCol.Columns); shape.Chart.SeriesCollection.Add(worksheet.Range["A7:C10"], RowCol.Columns); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; shape.Chart.XYGroups[0].BubbleScale = 150; shape.Chart.XYGroups[0].SizeRepresents = SizeRepresents.SizeIsArea; shape.Chart.XYGroups[0].ShowNegativeBubbles = true; |
ドーナツグラフのレイアウトの設定
ドーナツグラフのレイアウトを必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.Doughnut, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); ISeries series1 = shape.Chart.SeriesCollection[0]; series1.HasDataLabels = true; shape.Chart.DoughnutGroups[0].FirstSliceAngle = 50; shape.Chart.DoughnutGroups[0].DoughnutHoleSize = 20; |
IChartGroupインタフェースのHasDropLinesプロパティ、HasHiLoLinesプロパティ、HasSeriesLinesプロパティ、DropLinesプロパティ、HiLoLinesプロパティ、およびSeriesLinesプロパティを使用して、チャートの降下線、高低線、および区分線を設定できます。
折れ線グラフの降下線の設定
折れ線グラフの降下線を必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.Line, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.LineGroups[0].HasDropLines = true; shape.Chart.LineGroups[0].DropLines.Format.Line.Color.RGB = Color.Red; |
折れ線グラフの高低線の設定
折れ線グラフの高低線を必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.Line, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.LineGroups[0].HasHiLoLines = true; shape.Chart.LineGroups[0].HiLoLines.Format.Line.Color.RGB = Color.Red; |
縦棒グラフの区分線の設定
縦棒グラフの区分線を必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.ColumnStacked, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.ColumnGroups[0].HasSeriesLines = true; shape.Chart.ColumnGroups[0].SeriesLines.Format.Line.Color.RGB = Color.Red; |
補助円グラフ付き円グラフの区分線の設定
補助円グラフ付き円グラフの区分線を必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.PieOfPie, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.PieGroups[0].HasSeriesLines = true; shape.Chart.PieGroups[0].SeriesLines.Format.Line.Color.RGB = Color.Red; |
IChartGroup インタフェースの HasUpDownBarsプロパティ、DownBarsプロパティ、およびUpBarsプロパティを使用して、チャートの上ローソクおよび下ローソクのスタイルを必要に応じて設定できます。
折れ線グラフのローソクの設定
折れ線グラフのローソクを必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
IShape shape = worksheet.Shapes.AddChart(ChartType.Line, 200, 100, 300, 300); worksheet.Range["A1:D6"].Value = new object[,] { {null, "S1", "S2", "S3"}, {"Item1", 10, 25, 25}, {"Item2", -51, -36, 27}, {"Item3", 52, -85, -30}, {"Item4", 22, 65, 65}, {"Item5", 23, 69, 69} }; shape.Chart.SeriesCollection.Add(worksheet.Range["A1:D6"], RowCol.Columns, true, true); shape.Chart.LineGroups[0].HasUpDownBars = true; shape.Chart.LineGroups[0].UpBars.Format.Fill.Color.RGB = Color.Green; shape.Chart.LineGroups[0].DownBars.Format.Fill.Color.RGB = Color.Red; |
ISeriesインタフェースのSmoothプロパティを使用して、折れ線グラフと散布図の曲線を滑らかにすることができます。
折れ線グラフのSmoothプロパティの設定
折れ線グラフのSmoothプロパティを必要に応じて設定する方法については、次のサンプルコードを参照してください。
C# |
コードのコピー
|
---|---|
// Create a workbook. var workbook = new Workbook(); // Get the active sheet. var worksheet = workbook.ActiveSheet; // Set data for the chart. var data = new object[,] { { null , "2017", "2018", "2019", "2020", "2021", "2022", "2023" }, { "Mobile Phones",0.9,0.13,0.15,0.18,0.17,0.18,0.04 }, { "Tablets", 0.05, 0.08, 0.12, 0.13, 0.15, 0.17, 0.54 }, { "Household items",0.43,0.35,0.23,0.13,0.13,0.15,0.16 }, { "Vehicles",0.51,0.55,0.45,0.55,0.08,0.45,0.46 }, { "Groceries",0.51,0.55,0.25,0.77,0.05,0.45,0.56 }, { "Personal care",0.35,0.2,1,0.23,0.33,0.5,1 }, }; // Add data to the range. worksheet.Range["A1:H7"].Value = data; // Set style of the range. worksheet.Range["A1:H7"].Style.HorizontalAlignment = HorizontalAlignment.Center; worksheet.Range["A1:A7"].ColumnWidth = 18; // Create line chart. GrapeCity.Documents.Excel.Drawing.IShape shape = worksheet.Shapes.AddChart(GrapeCity.Documents.Excel.Drawing.ChartType.Line, 10, 150, 400, 200); shape.Chart.SeriesCollection.Add(worksheet.Range["A1:H7"], GrapeCity.Documents.Excel.Drawing.RowCol.Columns, true, true); shape.Chart.ChartTitle.Text = "Product Sales"; // Set line curve setting. foreach (var item in shape.Chart.SeriesCollection) { // Set Smooth property to true. item.Smooth = true; } // Save the workbook in xlsx and pdf formats. workbook.Save("SmoothLineChart.xlsx"); workbook.Save("SmoothLineChart.pdf"); |