簡體   English   中英

AChartEngine:幫助需要軸標簽

[英]AChartEngine: Help needing with axis labels

我正在使用AChartEngine(我認為這很酷!)來顯示兩個系列以比較它們的每日值。 不幸的是,有些問題我無法解決,即使我搜索了此站點,也無法找到解決方案。 如果有人可以幫我的忙,那就太好了。

如果看屏幕截圖,您會看到x軸有兩個“標簽軸”。 一個是顯示日期的右側,另一個是從0到8的整數。我想刪除這些整數。

其次,圖表可以移動。 因為我總是顯示有趣的數據部分,所以我不需要這樣做,並且我想禁用此功能。

這是我的配置代碼:

    public XYMultipleSeriesRenderer getBarChartRenderer() {
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
    renderer.setAxisTitleTextSize(20);
    renderer.setChartTitleTextSize(18);
    renderer.setLabelsTextSize(18);
    renderer.setLegendTextSize(18);
    //renderer.setMargins(new int[]{20, 30, 15, 0});
    SimpleSeriesRenderer r = new SimpleSeriesRenderer();
    r.setColor(Color.YELLOW);
    renderer.addSeriesRenderer(r);
    r = new SimpleSeriesRenderer();
    r.setColor(Color.BLUE);
    renderer.addSeriesRenderer(r);
    return renderer;
}

private void setBarChartSettings(XYMultipleSeriesRenderer renderer, String sTitle, String sXAxisTitle, String sYAxisTitle, String[] aDates) {
    renderer.setChartTitle(sTitle);
    renderer.setXTitle(sXAxisTitle);
    renderer.setYTitle(sYAxisTitle);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(aDates.length + 1);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(40);
    renderer.setShowGridY(true);
    renderer.setShowGridX(true);
    renderer.setGridColor(Color.WHITE);
    renderer.setXLabelsColor(Color.WHITE);
    renderer.setYLabelsColor(0, Color.WHITE);
    renderer.setXLabelsAlign(Paint.Align.CENTER);
    renderer.setYLabelsAlign(Paint.Align.RIGHT);

    for (int i = 0; i < aDates.length; i++) {
        renderer.addXTextLabel(i + 1, aDates[i]);
    }
    //renderer.setXLabelsAngle(-30.0f);
    renderer.setXLabelsAlign(Paint.Align.CENTER);
    renderer.setXLabelsPadding(10);
}

謝謝!

截圖

聽起來您需要禁用默認的數字標簽:

renderer.setXLabels(0);

並且您還需要禁用平移和縮放操作:

renderer.setPanEnabled(false, false);
renderer.setZoomEnabled(false, false);

好,那是我的解決方案:

    renderer.setChartTitle(sTitle);
    renderer.setXTitle(sXAxisTitle);
    renderer.setYTitle(sYAxisTitle);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(aDates.length);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(40);

    renderer.setXLabels(0);

    renderer.setPanEnabled(false, false);
    renderer.setZoomEnabled(false, false);

    renderer.setShowGridY(true);
    renderer.setShowGridX(true);
    renderer.setGridColor(Color.WHITE);
    renderer.setXLabelsColor(Color.WHITE);
    renderer.setYLabelsColor(0, Color.WHITE);
    renderer.setXLabelsAlign(Paint.Align.CENTER);
    renderer.setYLabelsAlign(Paint.Align.RIGHT);

    renderer.addXTextLabel(0, "");
    for (int i = 0; i < aDates.length; i++) {
        renderer.addXTextLabel(i + 1, aDates[i]);
    }
    renderer.setXLabelsAlign(Paint.Align.CENTER);
    renderer.setXLabelsPadding(10);
    renderer.setYLabelsPadding(10);

現在,該圖表顯示為我希望的樣子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM