作成日: 2022/11/10 最終更新日: 2022/11/10
文書種別
使用方法
詳細
棒グラフに塗りつぶしパターンを適用するには、SeriesクラスのStyle.FillプロパティにHatchBrushを設定します。
(設定例)
例えば、左上から右下への対角線パターンを設定するには、HatchBrushの引数にHatchStyle.ForwardDiagonalを指定します。
以下に、4つのシリーズに異なる塗りつぶしパターンを設定するサンプルを記載します。

◎サンプルコード(VB)
(設定例)
例えば、左上から右下への対角線パターンを設定するには、HatchBrushの引数にHatchStyle.ForwardDiagonalを指定します。
series1.Style.Fill = New HatchBrush(HatchStyle.ForwardDiagonal, Color.Red, Color.White)
※上記コードでは、塗りつぶしの色として Color.Red も設定しています。以下に、4つのシリーズに異なる塗りつぶしパターンを設定するサンプルを記載します。
◎サンプルコード(VB)
Imports System.Drawing.Drawing2D
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt As New DataTable()
dt.Columns.AddRange({
New DataColumn("X", GetType(String)),
New DataColumn("Y1", GetType(Int32)),
New DataColumn("Y2", GetType(Int32)),
New DataColumn("Y3", GetType(Int32)),
New DataColumn("Y4", GetType(Int32))
})
For i = 0 To 5
dt.Rows.Add($"{Chr(65 + i)}", i + 1, i + 2, i + 3, i + 4)
Next
dt.AcceptChanges()
' シリーズの作成
Dim series1 As New Series() With {
.Name = "S1",
.Binding = "Y1",
.BindingX = "X"
}
series1.Style.Fill = New HatchBrush(HatchStyle.ForwardDiagonal, Color.Red, Color.White)
series1.Style.StrokeColor = Color.Black
series1.Style.StrokeWidth = 1
Dim series2 As New Series() With {
.Name = "S2",
.Binding = "Y2",
.BindingX = "X"
}
series2.Style.Fill = New HatchBrush(HatchStyle.BackwardDiagonal, Color.Blue, Color.White)
series2.Style.StrokeColor = Color.Black
series2.Style.StrokeWidth = 1
Dim series3 As New Series() With {
.Name = "S3",
.Binding = "Y3",
.BindingX = "X"
}
series3.Style.Fill = New HatchBrush(HatchStyle.Cross, Color.LightSlateGray, Color.White)
series3.Style.StrokeColor = Color.Black
series3.Style.StrokeWidth = 1
Dim series4 As New Series() With {
.Name = "S4",
.Binding = "Y4",
.BindingX = "X"
}
series4.Style.Fill = New HatchBrush(HatchStyle.DarkHorizontal, Color.LightGreen, Color.White)
series4.Style.StrokeColor = Color.Black
series4.Style.StrokeWidth = 1
' 棒グラフの作成
With FlexChart1
.ChartType = ChartType.Column
.DataSource = dt
.Series.Clear()
.Series.Add(series1)
.Series.Add(series2)
.Series.Add(series3)
.Series.Add(series4)
End With
End Sub
End Class
◎サンプルコード(C#)
using System.Drawing.Drawing2D;
using C1.Chart;
using C1.Win.Chart;
namespace prj_C1FlexChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// データの作成
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn("X", typeof(String)),
new DataColumn("Y1", typeof(Int32)),
new DataColumn("Y2", typeof(Int32)),
new DataColumn("Y3", typeof(Int32)),
new DataColumn("Y4", typeof(Int32))
});
for (int i = 0; i <= 5; i++)
{
dt.Rows.Add(((char)(65 + i)).ToString(), i + 1, i + 2, i + 3, i + 4);
dt.AcceptChanges();
}
// シリーズの作成
Series series1 = new Series()
{
Name = "S1",
Binding = "Y1",
BindingX = "X"
};
series1.Style.Fill = new HatchBrush(HatchStyle.ForwardDiagonal, Color.Red, Color.White);
series1.Style.StrokeColor = Color.Black;
series1.Style.StrokeWidth = 1;
Series series2 = new Series()
{
Name = "S2",
Binding = "Y2",
BindingX = "X"
};
series2.Style.Fill = new HatchBrush(HatchStyle.BackwardDiagonal, Color.Blue, Color.White);
series2.Style.StrokeColor = Color.Black;
series2.Style.StrokeWidth = 1;
Series series3 = new Series()
{
Name = "S3",
Binding = "Y3",
BindingX = "X"
};
series3.Style.Fill = new HatchBrush(HatchStyle.Cross, Color.LightSlateGray, Color.White);
series3.Style.StrokeColor = Color.Black;
series3.Style.StrokeWidth = 1;
Series series4 = new Series()
{
Name = "S4",
Binding = "Y4",
BindingX = "X"
};
series4.Style.Fill = new HatchBrush(HatchStyle.DarkHorizontal, Color.LightGreen, Color.White);
series4.Style.StrokeColor = Color.Black;
series4.Style.StrokeWidth = 1;
// 棒グラフの作成
flexChart1.ChartType = ChartType.Column;
flexChart1.DataSource = dt;
flexChart1.Series.Clear();
flexChart1.Series.Add(series1);
flexChart1.Series.Add(series2);
flexChart1.Series.Add(series3);
flexChart1.Series.Add(series4);
}
}
}