MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > チャート > サンバーストチャートを追加する |
SunburstSeriesクラスを使用してサンバーストチャートを作成できます。
private void Form1_Load(object sender, System.EventArgs e) { // シートにデータを設定 fpSpread1.ActiveSheet.SetClip(0, 0, 1, 4, "半期\t四半期\t月\t年間売上"); fpSpread1.ActiveSheet.SetClip(1, 0, 1, 4, "前期\t第1Q\t4月\t50"); fpSpread1.ActiveSheet.SetClip(2, 0, 1, 4, "\t\t5月\t30"); fpSpread1.ActiveSheet.SetClip(3, 0, 1, 4, "\t\t6月\t50"); fpSpread1.ActiveSheet.SetClip(4, 0, 1, 4, "\t第2Q\t\t300"); fpSpread1.ActiveSheet.SetClip(5, 0, 1, 4, "後期\t第3Q\t\t120"); fpSpread1.ActiveSheet.SetClip(6, 0, 1, 4, "\t第4Q\t\t500"); // セル範囲を設定してサンバーストチャートを作成します fpSpread1.ActiveSheet.AddChart(new FarPoint.Win.Spread.Model.CellRange(0, 0, 7, 4), typeof(FarPoint.Win.Chart.SunburstSeries), 290, 290, 245, 30); FarPoint.Win.Chart.ChartModel model = fpSpread1.ActiveSheet.Charts[0].Model; // 凡例を非表示 model.LegendAreas.Clear(); // 最後のデータの塗りつぶし色を変更 FarPoint.Win.Chart.SunburstSeries sunseries = (FarPoint.Win.Chart.SunburstSeries)model.PlotAreas[0].Series[0]; for (Int32 i = 0; i <= sunseries.Count - 1; i++) { if (i == sunseries.Count - 1) { sunseries.Fills.Add(new FarPoint.Win.Chart.SolidFill(Color.Orange)); } else { sunseries.Fills.Add(null); } } // データラベルのフォント色を変更 sunseries.LabelTextFill = new FarPoint.Win.Chart.SolidFill(Color.WhiteSmoke); }
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load ' シートにデータを設定 FpSpread1.ActiveSheet.SetClip(0, 0, 1, 4, "半期" + Chr(9) + "四半期" + Chr(9) + "月" + Chr(9) + "年間売上") FpSpread1.ActiveSheet.SetClip(1, 0, 1, 4, "前期" + Chr(9) + "第1Q" + Chr(9) + "4月" + Chr(9) + "50") FpSpread1.ActiveSheet.SetClip(2, 0, 1, 4, "" + Chr(9) + "" + Chr(9) + "5月" + Chr(9) + "30") FpSpread1.ActiveSheet.SetClip(3, 0, 1, 4, "" + Chr(9) + "" + Chr(9) + "6月" + Chr(9) + "50") FpSpread1.ActiveSheet.SetClip(4, 0, 1, 4, "" + Chr(9) + "第2Q" + Chr(9) + "" + Chr(9) + "300") FpSpread1.ActiveSheet.SetClip(5, 0, 1, 4, "後期" + Chr(9) + "第3Q" + Chr(9) + "" + Chr(9) + "120") FpSpread1.ActiveSheet.SetClip(6, 0, 1, 4, "" + Chr(9) + "第4Q" + Chr(9) + "" + Chr(9) + "500") ' セル範囲を設定してサンバーストチャートを作成します FpSpread1.ActiveSheet.AddChart(New FarPoint.Win.Spread.Model.CellRange(0, 0, 7, 4), GetType(FarPoint.Win.Chart.SunburstSeries), 290, 290, 245, 30) Dim model As FarPoint.Win.Chart.ChartModel = FpSpread1.ActiveSheet.Charts(0).Model ' 凡例を非表示 model.LegendAreas.Clear() ' 最後のデータの塗りつぶし色を変更 Dim sunseries As FarPoint.Win.Chart.SunburstSeries = DirectCast(model.PlotAreas(0).Series(0), FarPoint.Win.Chart.SunburstSeries) For i As Int32 = 0 To sunseries.Count - 1 If i = sunseries.Count - 1 Then sunseries.Fills.Add(New FarPoint.Win.Chart.SolidFill(Color.Orange)) Else sunseries.Fills.Add(Nothing) End If Next ' データラベルのフォント色を変更 sunseries.LabelTextFill = New FarPoint.Win.Chart.SolidFill(Color.WhiteSmoke) End Sub