All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:
Hello
I want to draw a chart (Cartesian, line series) with mouse click but i don't know how can I get location of mouse click in chart axes,
Also how to allow for add new point only in horizontal and vertical stripes lines intersect
Thanks
public
RadForm1()
{
InitializeComponent();
radChartView1.MouseDown += RadChartView1_MouseDown;
ScatterSeries scatterSeries =
new
ScatterSeries();
scatterSeries.Name =
""
;
scatterSeries.DataPoints.Add(
ScatterDataPoint(0, 0));
ScatterDataPoint(200,200));
scatterSeries.BackColor = Color.Transparent;
this
.radChartView1.Series.Add(scatterSeries);
}
private
void
RadChartView1_MouseDown(
object
sender, MouseEventArgs e)
hValue =
.GetVerticalAxisValueFromMouse(e);
vValue =
.GetHorizontalAxisValueFromMouse(e);
Console.WriteLine(hValue);
Console.WriteLine(vValue);
Console.WriteLine();
GetVerticalAxisValueFromMouse(MouseEventArgs e)
LinearAxis axis = radChartView1.Axes[1]
as
LinearAxis;
double
delta = axis.ActualRange.Maximum - axis.ActualRange.Minimum;
totalHeight = axis.Model.LayoutSlot.Height;
ratio = 1 - (e.Location.Y -
.radChartView1.Area.View.Viewport.Y - axis.Model.LayoutSlot.Y) / totalHeight;
value = axis.ActualRange.Minimum + delta * ratio;
return
value;
GetHorizontalAxisValueFromMouse(MouseEventArgs e)
LinearAxis axis = radChartView1.Axes[0]
totalWidth = axis.Model.LayoutSlot.Width;
ratio = (e.Location.X -
.radChartView1.Area.View.Viewport.X - axis.Model.LayoutSlot.X) / totalWidth;