私たちにコードを表示せず、私の質問に答えなかったので、あなたのチャートには有効な数字のx値がないと仮定できます。
これは、x値がすべて0
であり、ズーム範囲の設定、軸やその他のラベルの書式設定、x方向のDataPoints
の検索では使用できないことを意味します。
これは「暗黙的に索引付け」と呼ばれることがあります。結果は明示的に索引付けされたチャートと似ています。これは、Series
のIsXValueIndexed
をtrueに設定した結果です。DataPoints
が行内に並び、すべてが同じ距離に表示されます。これは通常ある
ない1はを望んでいると私は本当にあなたがこれを好きではないDataPoints
を追加することによって、それを修正示唆するもの:次に
for (int i = 0; i < count; i++) chart1.Series[0].Points.AddXY(i, someYValue);
linked answer:このような
for (int i = 0; i < count; i++) chart1.Series[0].Points.AddY(someYValue);
多分にちょうどうまくいくでしょう。
しかし、単に、ここでの回避策はインデックスさチャートに最も近い二つのポイントを見つける方法でどのようはできる表示します。
内側のプロット位置のピクセル矩形を計算する関数(実際は2つ)を使用することに注意してください。それは動作します
private void chart1_MouseMove(object sender, MouseEventArgs e)
{
ChartArea ca = chart1.ChartAreas[0];
Series S = chart1.Series[0];
RectangleF rf = InnerPlotPositionClientRectangle(chart1, ca);
float px = (float)((e.X - rf.X) * S.Points.Count/rf.Width);
int p0 = (int)px; // previous point
int p1 = p0 + 1; // next point
if (p0 >= 0 && p0 < S.Points.Count)
Console.WriteLine("DataPoint # " + p0 + " has a y-value of " +
S.Points[p0].YValues[0].ToString("0.00"));
//..
}
をしかし、あなたは本当にあなたがデータポイントを追加する方法を修正する必要があります:あなたは... hereまたはhereそれらを見つけることができます!
出典
2016-11-08 17:04:43
TaW
[私の答えはこちら](http://stackoverflow.com/a/15566624/106159)は機能しますか? –
どのチャートコントロールを使っていますか? –
コードは正常に動作し、グラフが正しく塗りつぶされています_。私たちがあなたのx値を確認できるように、データポイントをどのように追加するかを示してください!ほとんどの場合、__x値は非数値です。これはあなたが訂正すべき共通のエラーです!注:文字列として追加すると、すべての__x-valuesは実際には0です。コードは実際には機能しません。 – TaW