public void scaleAxis(string graphName, double min, double interval, double max, int axis)
{
Type GraphicsWindowType = typeof(GraphicsWindow);
Dictionary<string, UIElement> _objectsMap;
UIElement obj;
_objectsMap = (Dictionary<string, UIElement>)GraphicsWindowType.GetField("_objectsMap", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.IgnoreCase).GetValue(null);
if (!_objectsMap.TryGetValue(graphName, out obj))
{
Utilities.OnShapeError(Utilities.GetCurrentMethod(), graphName);
return;
}
try
{
Canvas _graph = (Canvas)obj;
foreach (plotData _plotData in plotInfo)
{
if (_plotData.name == graphName)
{
if (axis == 0)
{
_plotData.userMinX = min;
_plotData.userMaxX = max;
_plotData.userIntervalX = interval;
}
else if (axis == 1)
{
_plotData.userMinY = min;
_plotData.userMaxY = max;
_plotData.userIntervalY = interval;
}
delegate_Data = new object[] { _graph, _plotData, eZoom.FALSE, eRescale.TRUE };
FastThread.Invoke(plotSeries_Delegate);
}
}
}
catch (Exception ex)
{
Utilities.OnError(Utilities.GetCurrentMethod(), ex);
}
}