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

 

 


© MESCIUS inc. All rights reserved.