【发布时间】:2011-12-01 12:27:55
【问题描述】:
我正在使用 MS Charts 制作图表。 现在图表有我想要获取坐标的标记点 如果用户点击标记点。
我想要图表中的交互性,以便在单击标记点时我可以检索标记点的坐标(x 轴和 y 轴)。
例如图表:-
点击橙色点或蓝色点我想获取该点的坐标,
例如第一个蓝点是 (10/11/2011, 49)
谢谢
【问题讨论】:
标签: .net vb.net visual-studio c#-4.0 mschart
我正在使用 MS Charts 制作图表。 现在图表有我想要获取坐标的标记点 如果用户点击标记点。
我想要图表中的交互性,以便在单击标记点时我可以检索标记点的坐标(x 轴和 y 轴)。
例如图表:-
点击橙色点或蓝色点我想获取该点的坐标,
例如第一个蓝点是 (10/11/2011, 49)
谢谢
【问题讨论】:
标签: .net vb.net visual-studio c#-4.0 mschart
<pre>void chart_MouseDown(Object sender, System.Windows.Forms.MouseEventArgs e)
{
HitTestResult result = chart.HitTest(e.X, e.Y);
switch(result.ChartElementType)
{
case case ChartElementType.DataPointLabel:
DateTime start = DateTime.FromOADate(result.Series.Points[result.PointIndex].XValue);
...
break;
}
}</pre>
【讨论】:
从 MS 图表示例 (http://archive.msdn.microsoft.com/mschart),请参阅“图表功能 > 交互式图表 > 数据点选择”部分:
private void chart1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
// Call Hit Test Method
HitTestResult result = Chart1.HitTest( e.X, e.Y );
if( result.ChartElementType == ChartElementType.DataPoint )
{
// index of the clicked point in its series
int index = result.PointIndex;
// actual values
Console.WriteLine(result.Series.Points[result.PointIndex].XValue);
Console.WriteLine(result.Series.Points[result.PointIndex].YValues[0]);
}
}
【讨论】: