から.NETチャートを使用してC値を使用してY値を取得します。.NETチャートでX値
私はいくつかの波形をグラフ化しようとしている、と私は、グラフ領域全体に私のマウスを移動したい、と私のツールヒントは、このX値の場所でチャートの各シリーズのY値を表示しています。
| at xValue 12 | |
| _ = 3 | |
| * = 2 | * * |
| ________|______________________________*_____ |
| / | * |
| __________*/*********|***************************** |
| * | |
| * | |
|______________________|_____________________________________|
上記の図のような種類です。以下は、私のコードのバージョンです:
void chart1_MouseMove(object sender, MouseEventArgs e)
{
var pos = e.Location;
_point.X = e.Location.X;
_point.Y = e.Location.Y;
try
{
if ((chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X) >= 0) && (chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X) <= max))
{
//Crossair
chart1.ChartAreas[0].CursorX.SetCursorPixelPosition(_point, true);
//Tooltips
double xValue = chart1.ChartAreas[0].AxisX.PixelPositionToValue(e.X);
double yValue = chart1.ChartAreas[0].AxisY.PixelPositionToValue(e.Y);
string all_Data_Values = "";
foreach (var series in chart1.Series)
{
all_Data_Values = all_Data_Values + Environment.NewLine + series.Name + ": " + yValue;
}
tooltip.Show("At " + Math.Truncate(xValue * 1000)/1000 + all_Data_Values, this.chart1, pos.X - 40, pos.Y - 20);
}
}
catch (Exception exception)
{
//
}
}
は、これは私が持っているもので、今それは私のマウスカーソル位置のY値を表示します。私は何とかx値をchart1.Seriesにマップしようとすると、他のコードを試してみましたが、どちらもうまくいきませんでした。
はZedGraphを使用することを検討して、それは悪いことではありません。 – David
デバッガでコードをステップ実行して何がうまくいかないか確認しましたか? –
私には右のように見えます - 私は同様のコードを持っています(X値を得たことを除いて、最も近い実際の値を得るためにシリーズでそれを調べます)。あなたはどのようなexeptionsを取得していますか? 'max'とは何ですか? –