Gigasoft公司旗下的ProEssentials是一款功能强大的工业图表控件,支持广泛的图表类型以及多种自定义功能,并且适用于多种开发平台。在绘制图表时,经常遇到一个图表里有多个序列,并且每个序列需要使用不同的Y轴以及不同的比例,ProEssentials为开发人员提供了该功能,可以轻松实现多序列多Y轴的显示,具体如下:
Pego1.PeData.Subsets = 5;
Pego1.PeData.Points = 4;
for (int s = 0; s < 5; s++)
{
for (int p = 0; p < 4; p++)
{
if (s == 2) // Make 3rd subset larger magnitude
Pego1.PeData.Y[s, p] = 5.0F + (float)Rand_Num.NextDouble() * 250.0F;
else
Pego1.PeData.Y[s, p] = 5.0F + (float)Rand_Num.NextDouble() * 25.0F;
}
}
// Dividing Subsets Among 3 Y Axes
Pego1.PeGrid.MultiAxesSubsets[0] = 1;
Pego1.PeGrid.MultiAxesSubsets[1] = 2;
Pego1.PeGrid.MultiAxesSubsets[2] = 2;
// Dividing MultiAxesSubsets into overlapping sections
Pego1.PeGrid.OverlapMultiAxes[0] = 1;
Pego1.PeGrid.OverlapMultiAxes[1] = 2;
Pego1.PeGrid.Option.MultiAxisStyle = MultiAxisStyle.SeparateAxes;
Pego1.PeLegend.Style = LegendStyle.OneLineTopOfAxis;
// Set some attributes of middle axis
Pego1.PeGrid.WorkingAxis = 1; // 1 = zero based index of middle axis
Pego1.PePlot.Method = GraphPlottingMethod.Bar;
Pego1.PePlot.RYAxisComparisonSubsets = 1;
Pego1.PePlot.MethodII = GraphPlottingMethodII.PointsPlusSpline;
// Set label of bottom left axis
Pego1.PeGrid.WorkingAxis = 2; // 2 = zero based index for third axes
Pego1.PeString.YAxisLabel = "Bottom Left";
Pego1.PeGrid.WorkingAxis = 0; //good practice to reset when done using