MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集 > チャート > ツリーマップチャートを追加する |
TreemapSeriesクラスを使用してツリーマップチャートを作成できます。
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.TreemapSeries), 290, 290, 245, 30); FarPoint.Win.Chart.ChartModel model = fpSpread1.ActiveSheet.Charts[0].Model; // 凡例を非表示 model.LegendAreas.Clear(); // タイトルを非表示 model.LabelAreas.Clear(); // 最後のデータの塗りつぶし色を変更 FarPoint.Win.Chart.TreemapSeries treeseries = (FarPoint.Win.Chart.TreemapSeries)model.PlotAreas[0].Series[0]; for (Int32 i = 0; i <= treeseries.Count - 1; i++) { if (i == treeseries.Count - 1) { treeseries.Fills.Add(new FarPoint.Win.Chart.SolidFill(Color.Orange)); } else { treeseries.Fills.Add(null); } } // データラベルのフォントを変更 treeseries.LabelTextFont = new Font("メイリオ", 9); treeseries.LabelTextFill = new FarPoint.Win.Chart.SolidFill(Color.WhiteSmoke); // データラベルの表示形式を設定 treeseries.LabelContainsValue = true; treeseries.LabelSeparator = ":"; treeseries.LabelOption = FarPoint.Win.Chart.LabelOption.Overlapping; }
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.TreemapSeries), 290, 290, 245, 30) Dim model As FarPoint.Win.Chart.ChartModel = FpSpread1.ActiveSheet.Charts(0).Model ' 凡例を非表示 model.LegendAreas.Clear() ' タイトルを非表示 model.LabelAreas.Clear() ' 最後のデータの塗りつぶし色を変更 Dim treeseries As FarPoint.Win.Chart.TreemapSeries = DirectCast(model.PlotAreas(0).Series(0), FarPoint.Win.Chart.TreemapSeries) For i As Int32 = 0 To treeseries.Count - 1 If i = treeseries.Count - 1 Then treeseries.Fills.Add(New FarPoint.Win.Chart.SolidFill(Color.Orange)) Else treeseries.Fills.Add(Nothing) End If Next ' データラベルのフォントを変更 treeseries.LabelTextFont = New Font("メイリオ", 9) treeseries.LabelTextFill = New FarPoint.Win.Chart.SolidFill(Color.WhiteSmoke) ' データラベルの表示形式を設定 treeseries.LabelContainsValue = True treeseries.LabelSeparator = ":" treeseries.LabelOption = FarPoint.Win.Chart.LabelOption.Overlapping End Sub