在Android TeeChart中更改Axis Title和Axis之间的距离

时间:2015-06-24 13:15:53

标签: java android teechart

我试图在Android TeeChart中更改轴标题和轴之间的距离。

我玩了一下
tChart.getAxes().getLeft().getTitle().setCustomSize();
tChart.getAxes().getBottom().getTitle().setCustomSize();
tChart.getAxes().getLeft().getLabels().setCustomSize();
tChart.getAxes().getBottom().getLabels().setCustomSize();

在左侧Axis上效果很好,但是按钮Axis Title保持在同一位置。有人知道解决方案吗?

感谢。

1 个答案:

答案 0 :(得分:2)

我担心没有一个属性可以设置为在轴标题和轴之间添加额外的空间 我能想到的更简单的方法是在图表中添加一些边距并在画布上手动绘制轴标题。即:

    Bar bar1 = new Bar(tChart1.getChart());
    bar1.fillSampleValues();

    tChart1.addChartPaintListener(new ChartPaintAdapter() {

        @Override
        public void chartPainted(ChartDrawEvent e) {

            String leftText = "Left Axis Title";
            String bottomText = "Bottom Axis Title";

            int YMid = tChart1.getChart().getChartRect().y + (tChart1.getChart().getChartRect().height / 2);
            int XMid = tChart1.getChart().getChartRect().x + (tChart1.getChart().getChartRect().width / 2);

            tChart1.getGraphics3D().setFont(tChart1.getAxes().getLeft().getTitle().getFont());
            int leftHeight = tChart1.getGraphics3D().textWidth(leftText);
            tChart1.getGraphics3D().rotateLabel(10, YMid + (leftHeight / 2), leftText, 90);

            tChart1.getGraphics3D().setFont(tChart1.getAxes().getBottom().getTitle().getFont());
            int bottomWidth = tChart1.getGraphics3D().textWidth(bottomText);
            tChart1.getGraphics3D().textOut(XMid - (bottomWidth / 2), tChart1.getHeight() - 20, bottomText);
        }
    });

    tChart1.getPanel().setMarginLeft(10);
    tChart1.getPanel().setMarginBottom(10);

然后,您可以轻松添加更多保证金或移动标题。