答案 0 :(得分:1)
不幸的是,图例滚动条总是绘制在与图例对齐相同的位置。但是,您可以防止在图例与底部对齐并使用属性MaxNumRow包含大量图例项的情况下可能出现的问题。下面的代码向您展示了如何做到这一点
public Form1()
{
InitializeComponent();
InitializeChart();
}
private void InitializeChart()
{
tChart1.Aspect.View3D = false;
tChart1.Dock = DockStyle.Fill;
Steema.TeeChart.Tools.LegendScrollBar sclenged = new Steema.TeeChart.Tools.LegendScrollBar(tChart1.Chart);
for ( int i=0; i<50; i++)
{
new Steema.TeeChart.Styles.FastLine(tChart1.Chart);
tChart1[i].FillSampleValues(10);
}
tChart1.Legend.Alignment = Steema.TeeChart.LegendAlignments.Bottom;
tChart1.Legend.MaxNumRows = 3;
}
希望这有助于你
提前致谢
此致
答案 1 :(得分:1)
如Sandra所述,TeeChart Legend将滚动条水平放置在图表的顶部或底部,当与图表的顶部或底部对齐时,垂直放置在左侧或右侧。因此,垂直滚动的选项是将图例定位到图表的右侧。
如果您更喜欢底部的图例并且您特别需要垂直滚动条,则可以通过自定义设置图例位置和尺寸来覆盖滚动条位置。请注意,当覆盖位置时,滚动条水平或垂直行为仍将遵循图例的原始顶部/底部或左/右对齐。因此,对于你想要实现的传奇,你可以做这样的事情:
tChart1.Legend.Alignment = Steema.TeeChart.LegendAlignments.Right;
tChart1.Legend.CustomPosition = true; //Chart will now redimension, ignoring Legend location. Your responsibility now.
tChart1.Panel.MarginBottom = 35; //make room. This is % .. can set as pixels, see MarginUnits
tChart1.Legend.Left = tChart1.Axes.Left.Position; //lineup with Left Axis
tChart1.Legend.Top = tChart1.Axes.Bottom.Position + tChart1.Axes.Bottom.Labels.Font.Size + 20; //make Top relative to Chart bottom axis location
tChart1.Legend.AutoSize = false; //now set dimension you require
tChart1.Legend.Width = 130; //your settings
tChart1.Legend.Height = 70;
下行方面是你没有提供这种方法的多列(因为传奇仍然认为它是垂直的);之前的建议(底部图例中的MaxNumRows)可能仍然更合适。