TrueChart for WinForms (C1Chart2D)
カスタム点スタイル
ChartData オブジェクトの概要 > 点スタイルを使用する > カスタム点スタイル

カスタム点スタイルの条件を定義するには、PointStyle の Selection プロパティを Custom に設定し、Select イベントに対するイベントハンドラを提供する必要があります。次のコードでは、カスタムのポイントスタイルを作成します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles Button1.Click  
         ' ポイントスタイルを作成    
        Dim ps As C1.Win.C1Chart.PointStyle = New C1.Win.C1Chart.PointStyle()   
         ' カスタムのポイントスタイル  
        ps.Selection = C1.Win.C1Chart.PointStyleSelectionEnum.Custom 
        AddHandler ps.Select, AddressOf PS_Select   
          ' ポイントスタイルを追加   
        c1Chart1.ChartGroups(0).ChartData.PointStylesList.Add(ps)  
End Sub       
Private Sub PS_Select(ByVal sender As Object, ByVal e As _   C1.Win.C1Chart.PointStyleSelectEventArgs)    
        Dim ps As C1.Win.C1Chart.PointStyle = CType(sender, C1.Win.C1Chart.PointStyle)  
          ' y 値に応じて視覚的な外観を設定    
        Dim ds As C1.Win.C1Chart.ChartDataSeries = _   c1Chart1.ChartGroups(0).ChartData(e.SeriesIndex)   
        Dim y As Double = Convert.ToDouble(ds.Y(e.PointIndex))    
        If (y < 0) Then  
                ps.LineStyle.Color = Color.Blue 
        Else 
                ps.LineStyle.Color = Color.Red    
        End If  
          ' すべてのポイントに適用   
        e.Selected = True  
End Sub

C# コードの書き方

C#
コードのコピー
private void button1_Click(object sender, System.EventArgs e)   
{      
   // ポイントスタイルを作成       
  C1.Win.C1Chart.PointStyle ps = new C1.Win.C1Chart.PointStyle();    
   // カスタムのポイントスタイル      
  ps.Selection = C1.Win.C1Chart.PointStyleSelectionEnum.Custom;   
  ps.Select += new C1.Win.C1Chart.PointStyleSelectEventHandler(PS_Select);     
   // ポイントスタイルを追加      
  c1Chart1.ChartGroups[0].ChartData.PointStylesList.Add( ps);    
}
        
private void PS_Select( object sender, C1.Win.C1Chart.PointStyleSelectEventArgs e)       
{      
        C1.Win.C1Chart.PointStyle ps = sender as C1.Win.C1Chart.PointStyle;     
         // y 値に応じて視覚的な外観を設定       
        C1.Win.C1Chart.ChartDataSeries ds = c1Chart1.ChartGroups[0].ChartData[e.SeriesIndex];     
        double y = Convert.ToDouble( ds.Y[e.PointIndex]);     
        if( y<0)   
                ps.LineStyle.Color = Color.Blue;     
        else    
                ps.LineStyle.Color = Color.Red;   
         // すべてのポイントに適用      
        e.Selected = true;   
}

ゼロより小さい Y 値にはカスタムの青色のポイントスタイル、ゼロより大きい y 値にはカスタムの赤色のポイントスタイルが作成されます。

関連トピック