作成日: 2022/03/08 最終更新日: 2022/03/08
文書種別
使用方法
詳細
積層棒グラフ(積み上げ形式の棒グラフ)をマウスでクリックした時、選択された部分の色を変更するには、選択要素のスタイル(SelectionStyle)のFillColorプロパティを使用します。
なお、StrokeColorプロパティを用いると、選択部分の外枠の色を設定することができます。
以下に、Renderingイベントを利用して選択時の色を変更するサンプルを記載します。

◎サンプルコード(VB)
なお、StrokeColorプロパティを用いると、選択部分の外枠の色を設定することができます。
以下に、Renderingイベントを利用して選択時の色を変更するサンプルを記載します。

◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Dim fillColors As Color() = New Color() {Color.DarkBlue, Color.DarkRed, Color.DarkGreen}
Dim strokeColors As Color() = New Color() {Color.LightBlue, Color.LightPink, Color.LightGreen}
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
FlexChart1.Series.Clear()
' 積層棒グラフのデータ系列の作成
FlexChart1.BeginUpdate()
Dim item1 As Series = New Series() With
{
.Binding = "Y",
.BindingX = "X",
.DataSource = New PointF() {New PointF(1, 1), New PointF(2, 2), New PointF(3, 3)}
}
FlexChart1.Series.Add(item1)
Dim item2 As Series = New Series() With
{
.Binding = "Y",
.BindingX = "X",
.DataSource = New PointF() {New PointF(1, 1), New PointF(2, 1), New PointF(3, 1)}
}
FlexChart1.Series.Add(item2)
Dim item3 As Series = New Series() With
{
.Binding = "Y",
.BindingX = "X",
.DataSource = New PointF() {New PointF(1, 2), New PointF(2, 2), New PointF(3, 2)}
}
FlexChart1.Series.Add(item3)
' チャートの設定
FlexChart1.ChartType = ChartType.Column
FlexChart1.Stacking = Stacking.Stacked
' 選択モードの設定
FlexChart1.SelectionMode = ChartSelectionMode.Point 'ポイント選択
FlexChart1.EndUpdate()
End Sub
Private Sub FlexChart1_Rendering(sender As Object, e As RenderEventArgs) Handles FlexChart1.Rendering
If FlexChart1.SelectedSeries IsNot Nothing Then
For i As Integer = 0 To FlexChart1.Series.Count - 1
If FlexChart1.SelectedSeries Is FlexChart1.Series(i) Then
FlexChart1.SelectionStyle.FillColor = fillColors(i)
FlexChart1.SelectionStyle.StrokeColor = strokeColors(i)
End If
Next
End If
End Sub
End Class
◎サンプルコード(C#)
using C1.Chart;
using C1.Win.Chart;
namespace prj_FlexChart
{
public partial class Form1 : Form
{
Color[] fillColors = new Color[] { Color.DarkBlue, Color.DarkRed, Color.DarkGreen };
Color[] strokeColors = new Color[] { Color.LightBlue, Color.LightPink, Color.LightGreen };
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
flexChart1.Series.Clear();
// 積層棒グラフのデータ系列の作成
flexChart1.BeginUpdate();
Series item1 = new Series() {
Binding="Y",
BindingX="X",
DataSource=new PointF[] {new PointF(1,1), new PointF(2, 2) , new PointF(3, 3) }
};
flexChart1.Series.Add(item1);
Series item2 = new Series()
{
Binding = "Y",
BindingX = "X",
DataSource = new PointF[] { new PointF(1, 1), new PointF(2, 1), new PointF(3, 1) }
};
flexChart1.Series.Add(item2);
Series item3 = new Series()
{
Binding = "Y",
BindingX = "X",
DataSource = new PointF[] { new PointF(1, 2), new PointF(2, 2), new PointF(3, 2) }
};
flexChart1.Series.Add(item3);
// チャートの設定
flexChart1.ChartType = ChartType.Column;
flexChart1.Stacking = Stacking.Stacked;
// 選択モードの設定
flexChart1.SelectionMode = ChartSelectionMode.Point; //ポイント選択
flexChart1.EndUpdate();
}
private void flexChart1_Rendering(object sender, RenderEventArgs e)
{
if (flexChart1.SelectedSeries != null)
{
for (int i = 0;i < flexChart1.Series.Count; i++)
{
if (flexChart1.SelectedSeries == flexChart1.Series[i])
{
flexChart1.SelectionStyle.FillColor = fillColors[i];
flexChart1.SelectionStyle.StrokeColor = strokeColors[i];
}
}
}
}
}
}