如何在 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;
我们正在使用适用于 .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;