我试图在Android TeeChart中更改轴标题和轴之间的距离。我玩了一点
tChart.getAxes().getLeft().getTitle().setCustomSize();
tChart.getAxes().getBottom().getTitle().setCustomSize();
tChart.getAxes().getLeft().getLabels().setCustomSize();
tChart.getAxes().getBottom().getLabels().setCustomSize();
在左侧轴上,它工作得很好,但底部轴标题保持在相同的位置。有人知道解决方案吗?
谢谢。
恐怕没有一个属性可以设置为在轴标题和轴之间添加额外的空间
我认为实现这一点更简单的方法是在图表中添加一些边距,并在画布上手动绘制轴标题。Ie:
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);
然后,您可以轻松地添加更多边距或移动标题。