首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多个Y轴标签/标题相互重叠

多个Y轴标签/标题相互重叠
EN

Stack Overflow用户
提问于 2020-01-27 20:26:46
回答 1查看 224关注 0票数 0

我正在使用下面的代码显示图表的多个Y轴。当任何轴标签值超过3位时,该轴标签/标题将与其他轴标签重叠(如图所示)。

代码语言:javascript
复制
int leftIndex = 0, rightIndex = 0;
int relativePosition = 0;                 
foreach (Steema.TeeChart.Axis axis in this.tChart.Axes.Custom)
    {                       
    axis.Visible = true;

    axis.PositionUnits = Steema.TeeChart.PositionUnits.Pixels;

    axis.RelativePosition = 0 - (axis.OtherSide ? rightIndex++ : leftIndex++) * 60;

    relativePosition = relativePosition + (axis.AxisRect().Width + 60);

    }
EN

回答 1

Stack Overflow用户

发布于 2020-01-28 01:13:43

您应该能够通过稍微修改计算中的常量来正确呈现图表,例如

代码语言:javascript
复制
TChart _tChart;
public Form1()
{
    InitializeComponent();

    _tChart = new TChart();
    _tChart.Dock = DockStyle.Fill;

    _tChart.Series.Add(typeof(Line)).FillSampleValues();
    _tChart.Series.Add(typeof(Line)).FillSampleValues();
    _tChart.Series.Add(typeof(Line)).FillSampleValues();

    _tChart.Series[0].YValues.Value = _tChart.Series[2].YValues.Value.Select(x => x * 100).ToArray();

    _tChart.Header.Text = Utils.Version;
    _tChart[0].CustomVertAxis = _tChart.Axes.Custom.Add();
    _tChart[0].CustomVertAxis.Title.Text = "Axis One Title";
    _tChart[0].CustomVertAxis.Title.Angle = 90;

    _tChart[1].CustomVertAxis = _tChart.Axes.Custom.Add();
    _tChart[1].CustomVertAxis.Title.Text = "Axis Two Title";
    _tChart[1].CustomVertAxis.Title.Angle = 90;

    _tChart[2].CustomVertAxis = _tChart.Axes.Custom.Add();
    _tChart[2].CustomVertAxis.Title.Text = "Axis Three Title";
    _tChart[2].CustomVertAxis.Title.Angle = 90;

    int leftIndex = 0, rightIndex = 0;

    for (int i = 0; i < this._tChart.Axes.Custom.Count; i++)
    {
        var axis = this._tChart.Axes.Custom[i];
        axis.Visible = true;
        axis.PositionUnits = Steema.TeeChart.PositionUnits.Pixels;
        axis.RelativePosition = 0 - (axis.OtherSide ? rightIndex++ : leftIndex++) * (i == 1 ? 80: 70);
    }


    _tChart.Panel.MarginLeft = 30;
    this.Controls.Add(_tChart);
}

这给了我一个答案:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59931172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档