【发布时间】:2015-11-18 14:45:45
【问题描述】:
我们正在使用适用于 .Net 的 TeeChart,版本 v2014 [2014 年 2 月 24 日] 发布 4.1.2014.02240-02244。 我们面临的问题是在多面板图中垂直对齐堆栈栏系列。多面板图是使用两个左自定义轴创建的,如下图所示。
上面板图(即 Panel1)有一个线工具,用于具有类似外观的轴。 但请注意,两个面板图的底轴是通用的。
这个系列图中的问题是,bar 看起来不是垂直对齐的,即使它们在系列数据中有共同的 x 值。 这是系列数据: 面板 1 系列数据有四个点:{(10, 0.2), (20, 0.9), (30, 0.1), (40, 0.5)} Panel 2 系列数据有四个点:{(10, 0.4), (20, 0.2), (30, 0.7), (40, 0.3)}
以下是生成上述图表的源代码。
private void PanelPlot_Load(object sender, EventArgs e)
{
//Add series
tChart1.Series.Add(P1_Series2);
tChart1.Series.Add(P2_Series2);
tChart1.Series.Add(seriesForRightAxis);
tChart1.Series[0].Add(10, 0.4);
tChart1.Series[0].Add(20, 0.2);
tChart1.Series[0].Add(30, 0.7);
tChart1.Series[0].Add(40, 0.3);
tChart1.Series[1].Add(10, 0.1);
tChart1.Series[1].Add(20, 0.32);
tChart1.Series[1].Add(30, 0.2);
tChart1.Series[1].Add(40, 1);
tChart1.Axes.Bottom.Minimum = 0;
tChart1.Axes.Bottom.Maximum = 40;
tChart1.Axes.Bottom.Increment = 10;
//--------------------------Left axis----------------------
Steema.TeeChart.Axis axis = tChart1.Axes.Left;
axis.AxisPen.Color = Color.Gray;
axis.StartPosition = 0;
axis.EndPosition = 48;
axis.Minimum = 0;
axis.Maximum = 1;
axis.Increment = 0.2;
axis.Automatic = true;
// create custom axes
leftCustom = new Steema.TeeChart.Axis(tChart1.Chart);
tChart1.Axes.Custom.Add(leftCustom);
leftCustom.AxisPen.Color = Color.Gray;
leftCustom.StartPosition = 52;
leftCustom.EndPosition = 100;
leftCustom.Minimum = 0;
leftCustom.Maximum = 1;
leftCustom.Increment = 0.2;
// associate series
P1_Series1.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Left;
P1_Series2.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Left;
P1_Series3.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Left;
P2_Series1.CustomVertAxis = leftCustom;
P2_Series2.CustomVertAxis = leftCustom;
P2_Series3.CustomVertAxis = leftCustom;
//---------------------- Right Axies --------------------------
seriesForRightAxis.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Right;
Steema.TeeChart.Axis axis1 = tChart1.Axes.Right;
axis1.AxisPen.Color = Color.Gray;
axis1.StartPosition = 0;
axis1.EndPosition = 100;
axis1.Maximum = 300;
axis1.Minimum = 0;
axis1.Increment = 100;
tChart1.Series[2].Add(10, 50);
tChart1.Series[2].Add(10, 100);
tChart1.Series[2].Add(10, 150);
tChart1.Series[2].Add(20, 200);
tChart1.Series[2].Add(20, 250);
tChart1.Series[2].Transparency = 100;
tChart1.Axes.Right.Labels.Items.Add(100, "100");
tChart1.Axes.Right.Labels.Items.Add(200, "200");
tChart1.Axes.Right.Labels.Items.Add(300, "300");
tChart1.Axes.Right.Labels.Items.Add(400, "400");
tChart1.Axes.Right.Grid.Visible = false; ;
}
请建议是否有任何方法可以在这种情况下对齐条形。
提前致谢!
【问题讨论】: