如何在 teechart 中垂直对齐多个条形系列?

How to align multiple bar series vertically in teechart?

我们正在使用适用于 .Net 的 TeeChart,版本 v2014 [2014 年 2 月 24 日] 发布 4.1.2014.02240-02244。 我们面临的问题是在多面板图中垂直对齐堆叠条系列。多面板图是使用两个左侧自定义轴创建的,如下图所示。

上面板图(即 Panel1)有一个线条工具,用于具有类似外观的轴。 但请注意,底轴对于两个面板图都是通用的。

这个系列图中的问题是条形图看起来没有垂直对齐,即使它们在系列数据中有共同的 x 值。 这是系列数据: 面板 1 系列数据有四个点 {(10, 0.2), (20, 0.9), (30, 0.1), (40, 0.5)} 面板 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; ;

    }

请建议是否有任何方法可以在这种情况下对齐条形图。

提前致谢!

尝试将 MultiBar 设置为 MultiBars.None:

P1_Series2.MultiBar = Steema.TeeChart.Styles.MultiBars.None;
P2_Series2.MultiBar = Steema.TeeChart.Styles.MultiBars.None;