作成日: 2023/12/11 最終更新日: 2023/12/11
文書種別
使用方法
詳細
複数のシリーズのデータを使用し、StackingプロパティをStackedに設定することで、棒グラフを積み上げて表示することができます。
このとき、縦棒間のスペースをゼロにすることで、積層ヒストグラム風に表示させることが可能です。
以下に、2つのシリーズのデータを用いて、積層ヒストグラム風に表示するサンプルコードを記載します。

◎サンプルコード(VB)
このとき、縦棒間のスペースをゼロにすることで、積層ヒストグラム風に表示させることが可能です。
以下に、2つのシリーズのデータを用いて、積層ヒストグラム風に表示するサンプルコードを記載します。
◎サンプルコード(VB)
Imports C1.Win.Chart
Imports C1.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt = New DataTable()
dt.Columns.AddRange({
New DataColumn("X"),
New DataColumn("Y1", GetType(Integer)),
New DataColumn("Y2", GetType(Integer))
})
dt.Rows.Add("0-9", 5, 5)
dt.Rows.Add("10-19", 10, 8)
dt.Rows.Add("20-29", 25, 20)
dt.Rows.Add("30-39", 60, 45)
dt.Rows.Add("40-49", 100, 50)
dt.Rows.Add("50-59", 60, 35)
dt.Rows.Add("60-69", 30, 25)
dt.Rows.Add("70-79", 20, 15)
dt.Rows.Add("80-89", 5, 5)
dt.AcceptChanges()
' シリーズの作成
Dim series1 = New Series() With {
.Name = "series1",
.Binding = "Y1",
.BindingX = "X"
}
Dim series2 = New Series() With {
.Name = "series2",
.Binding = "Y2",
.BindingX = "X"
}
' 積層棒グラフの作成
FlexChart1.ChartType = ChartType.Column
FlexChart1.DataSource = dt
FlexChart1.Stacking = Stacking.Stacked
FlexChart1.Series.Clear()
FlexChart1.Series.Add(series1)
FlexChart1.Series.Add(series2)
' 縦棒間のスペースを削除
FlexChart1.Options.ClusterSize.SizeType = C1.Chart.ElementSizeType.Percentage
FlexChart1.Options.ClusterSize.Value = 100
' 凡例の非表示
FlexChart1.Legend.Position = Position.None
End Sub
End Class
◎サンプルコード(C#)
using C1.Chart;
using C1.Win.Chart;
namespace prj_C1FlexChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
var dt = new DataTable();
dt.Columns.AddRange(new[]
{
new DataColumn("X"),
new DataColumn("Y1", typeof(Int32)),
new DataColumn("Y2", typeof(Int32)),
});
dt.Rows.Add("0-9", 5, 5);
dt.Rows.Add("10-19", 10, 8);
dt.Rows.Add("20-29", 25, 20);
dt.Rows.Add("30-39", 60, 45);
dt.Rows.Add("40-49", 100, 50);
dt.Rows.Add("50-59", 60, 35);
dt.Rows.Add("60-69", 30, 25);
dt.Rows.Add("70-79", 20, 15);
dt.Rows.Add("80-89", 5, 5);
dt.AcceptChanges();
// シリーズの作成
var series1 = new Series()
{
Name = "series1",
Binding = "Y1",
BindingX = "X"
};
var series2 = new Series()
{
Name = "series2",
Binding = "Y2",
BindingX = "X"
};
// 積層棒グラフの作成
flexChart1.ChartType = ChartType.Column;
flexChart1.DataSource = dt;
flexChart1.Stacking = Stacking.Stacked;
flexChart1.Series.Clear();
flexChart1.Series.Add(series1);
flexChart1.Series.Add(series2);
// 縦棒間のスペースを削除
flexChart1.Options.ClusterSize.SizeType = C1.Chart.ElementSizeType.Percentage;
flexChart1.Options.ClusterSize.Value = 100;
// 凡例の非表示
flexChart1.Legend.Position = Position.None;
}
}
}