我正在使用MS图表,并且我试图找出如何根据鼠标在图表中的位置显示x轴值。它仅显示鼠标在数据点上的时间。 y轴线性缩放并按预期工作。
然而x轴并不是对数,因为它是对数的并给出了结果:
(0 = 0,10 = 1,100 = 2,1000 = 3)
当x = 10时,它给出一个返回值1,其中x = 100,它给我一个返回值2,等等。
dim position = e.Location
dim result = myChart.hitTest(position.x, position.y)
etoolTip.active = true
if(result.ChartElementType = DataVisualization.Charting.ChartElementType.datapoint)
dim x = result.ChartArea.AxisX.PixelPositionToValue(position.x)
dim y = result.chartarea.axisy.pixelPositionToValue(position.y)
etoolTip.SetToolTip(phaseNoiseChart, "X:"&x &"Y:"&y)
else
etoolTip.active = false
End If
如何根据对数轴的鼠标位置获取x轴的真实位置?
答案 0 :(得分:0)
因为代码属于鼠标移动事件
e.X
会给你x坐标
e.Y
会给你y坐标
答案 1 :(得分:0)
在我意识到答案告诉我的内容之前,我显然不明白这些数字的含义。我把它变回实际坐标的方式是10 ^ x。
dim x = result.ChartArea.AxisX.PixelPositionToValue(position.x)
x = 10^x
dim y = result.chartarea.axisy.pixelPositionToValue(position.y)
etoolTip.SetToolTip(phaseNoiseChart, "X:"&x & "Y:"&y)