web-dev-qa-db-ja.com

c#を使用して折れ線グラフでマーカーポイントを表示する方法

使ってます Line graph私のアプリケーションでは、正常に動作しています。折れ線グラフでマーカーポイントを描画しようとしましたが、マーカーポイントが表示されません。折れ線グラフのマーカープロパティで、markerSizeを5、markerStyleを円、MarkerColorを青として選択しました。以下のコードを参照してください。

 series1.Name = "Series1";
 series1.IsVisibleInLegend = false;
 series1.IsXValueIndexed = true;
 series1.XValueType = ChartValueType.Time;
 series1.YAxisType = AxisType.Primary;
 series1.ChartType = SeriesChartType.Line;
 this.chart1.Series.Add(series1);
10

Markersがコードからどのように表示されるかわかりません。

non-defaultMarkerStyle を設定する必要があります:

 series1.MarkerStyle = MarkerStyle.Circle;

その行でdebuggerを使用すると、defaultがどのように表示されるかを確認できます。はNoneです!

もちろん、他のすべての マーカーはシリーズプロパティに関連します で遊んでみてください。これらはすべて DataPointCustomProperties から継承されています

ChartType.Lineを使用しています。これで問題ありません。 FastLineはマーカーを表示しないことに注意してください!

一部のマーカーのみを表示したい場合は、ポイントごとにスタイルを設定するだけです。

S1.Points[8].MarkerStyle = MarkerStyle.Triangle;
S1.Points[8].MarkerSize = 22;
S1.Points[8].MarkerColor = Color.Red;
14
TaW

それぞれのポイントを取得し、それらをループして、それぞれを追加することをお勧めします。名前を設定したいので、カウンターを作成し、「ser」の末尾に整数値を追加しました。名前を付けてください。

Dim counter as int = 0;
foreach (Series ser in chart.Series)
{
   ser.Name = "ser" & counter + 1;
   ser.IsVisibleInLegend = false;
   ser.IsXValueIndexed = true;
   ser.XValueType = ChartValueType.Time;
   ser.YAxisType = AxisType.Primary;
   ser.ChartType = SeriesChartType.Line;
   this.chart1.Series.Add(ser);
   counter += 1;
}
0
ImDeveloping