我无法使Shinobichart中的xAxis看起来不错。右轴标签被切成两半(见图)。 xAxis.setRangePaddingHigh不起作用。我认为这与使用自定义日期范围有关。请帮忙!
DateRange dateRange = new DateRange(oldDate, today);
xAxis.setDefaultRange(dateRange);
xAxis.setTickMarkClippingModeHigh(TickMark.ClippingMode.TICKS_AND_LABELS_PERSIST);
xAxis.getStyle().getTickStyle().setMinorTicksShown(true);
xAxis.getStyle().getTickStyle().setMajorTicksShown(true);
xAxis.getStyle().getTickStyle().setLabelsShown(true);
DateFrequency test = new DateFrequency(30, DateFrequency.Denomination.MINUTES);
xAxis.setRangePaddingHigh(test);
shinobiChart.setXAxis(xAxis);
最佳答案
您可能会怀疑,如果在Axis上设置了默认范围,则任何范围填充都将被忽略。 API文档并未真正提及这一点,因此我们希望将来对其进行更新!
您是否尝试过其他ClippingModes
?您在此处使用的那个将显示刻度标签,即使这意味着它们将被部分切除。TICKS_PERSIST
模式仍将在轴的最右边显示刻度线,但是由于标签将被切除,因此将不会显示。另一方面,NEITHER_PERSIST
模式既不会显示标签,也不会显示刻度线。
根据设置模式的时间,您可能需要调用shinobiChart.redrawChart()
,尽管在此处似乎不需要将轴添加到图表之前的操作。
最后,如果您想更好地控制刻度线的绘制方式,可以使用ShinobiChart.OnTickMarkUpdateListener和/或ShinobiChart.OnTickMarkDrawListener(以及ChartUtils来获得一些默认行为)。
全面披露-我为shinobicontrols工作