2017-02-15 35 views
1

レーダーチャートの各X軸値に異なる色を得る方法はありますか?MSチャート:ラベル値の異なる色

すでにカスタムラベルを試しましたが、動作しませんでした。

ご協力いただければ幸いです。

enter image description here

答えて

1

AxisLabelsのためにこれを達成するために、どちらのプロパティもCustomAttributesがあります。

しかし、CustomLabelsはうまく機能します。

Random rnd = new Random(0); 
List<Color> colors = new List<Color>() { Color.Red, Color.Firebrick, Color.Gold, 
    Color.DeepPink, Color.Azure, Color.IndianRed, Color.ForestGreen }; 

ChartArea ca = chart.ChartAreas[0]; 

Series s = chart.Series[0]; 

for (int i = 1; i < 7; i++) 
{ 
    s.Points.AddXY(i, i+ rnd.Next(20 - i)); 
} 

CustomLabelsを追加:データを設定し

enter image description here

:ここ

Seriesに各DataPointについてCustumLabelを追加し、それをランダムな色を与える例です。

foreach (var dp in s.Points) 
{ 
    CustomLabel cl = new CustomLabel(); 
    cl.FromPosition = dp.XValue; 
    cl.ToPosition = dp.XValue ; 
    cl.Text = dp.YValues[0]+ "$"; 
    cl.ForeColor = colors[rnd.Next(colors.Count)]; 

    ca.AxisX.CustomLabels.Add(cl); 
} 

ChartType Radarの場合、これはやや単純です。 FromPositionToPositionを得る他のほとんどのタイプの場合、2つのポイントの間の(通常)中心を計算する必要があります。

+0

聖なる牛!これは素晴らしいことでした。どうもありがとう。 – Kasra

+0

'MarkerBorderColor'に' DataPoint'色をもたせることはできますか? @TaW – Kasra

+0

確かに。しかし、あなたが 'MarkerStyle'を設定していることを確認してください! - 'dp.MarkerBorderColor = cl.ForeColor; dp.MarkerColor = Color.MediumAquamarine; dp.MarkerStyle = MarkerStyle.Diamond; dp.MarkerSize = 10; ' - [例](http://imgur.com/a/TTrcl) – TaW

関連する問題