android - 如何在图表引擎中的 x 轴标签中设置值

标签 android achartengine

实际上,在我的应用程序中,我使用 achartEngine 创建了一个图表.在最初的 x 轴中,我显示的是从 1 到 31 的值。现在可以显示像 1-03-2012 这样的值,而不是显示这个值。 , 2-03-2012 , 3-03-2012 ... 以此类推,直到本月的最后一天,当它到达本月的最后一天时,即 31-03-2012之后显示的值应该是 1-04-2012 2-04-2012 ...等等。下面给出了我在显示 1 2 3 4 5... 等值时使用的代码。谁能帮我解决这个问题?

图表代码

 renderer = new XYMultipleSeriesRenderer(2);        
    int length = colors.length;     
    for (int i = 0; i < length; i++) 
    {
        XYSeriesRenderer r = new XYSeriesRenderer();
        r.setColor(colors[i]);
        r.setPointStyle(styles[i]);
        renderer.addSeriesRenderer(r);
    }
    
    int rendererLength = renderer.getSeriesRendererCount();
    for (int i = 0; i < rendererLength; i++) 
    {
      ((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);
    }               
    renderer.setAxisTitleTextSize(12);
    renderer.setChartTitleTextSize(12);
    renderer.setLabelsTextSize(10);
    renderer.setLegendTextSize(12);
    renderer.setPointSize(5f);
    
    renderer.setApplyBackgroundColor(true);
    renderer.setBackgroundColor(Color.parseColor("#F5F5F5"));
    renderer.setMarginsColor(Color.parseColor("#F5F5F5"));
    
    renderer.setChartTitle("Weight / Temperature");
    renderer.setXLabels(20);
    renderer.setXTitle(sdFormatter.format(currentDate));        
    renderer.setXAxisMin(1);
    renderer.setXAxisMax(nMaxDay);
    renderer.setXLabelsAlign(Align.CENTER);
                
    renderer.setYLabels(10);  
    renderer.setYTitle("Weight", 0);
    renderer.setYTitle("Temperature", 1);
    renderer.setYAxisMin(10, 0);
    renderer.setYAxisMax(90, 0);
    renderer.setYAxisMin(10, 1);
    renderer.setYAxisMax(90, 1);
    renderer.setYAxisAlign(Align.LEFT, 0);
    renderer.setYAxisAlign(Align.RIGHT, 1);
    renderer.setYLabelsAlign(Align.LEFT, 0);
    renderer.setYLabelsAlign(Align.RIGHT, 1);
    
    renderer.setAxesColor(Color.LTGRAY);
    renderer.setLabelsColor(Color.parseColor("#5f5f5f"));          
    renderer.setShowGrid(true);
    renderer.setGridColor(Color.GRAY);

截图 enter image description here

最佳答案

使用演示中的 AverageTemperatureChart 类。

setChartSettings(renderer, "Average temperature", "Month", "Temperature", 0.5, 5.5, 0, 4,
        Color.LTGRAY, Color.LTGRAY);

然后这样改,检查变化

 for (int i = 0; i < titles.length; i++) 
    {
      x.add(new double[] { 1, 2, 3, 4 });
       }

添加四个只是为了演示

并通过renderer.addTextLabel()添加标签;

例如:

String[] date={"1-3-2012","1-4-2012","1-5-2012","1-6-2012"}; 
for (int i = 0; i < date.length; i++) 
    { 

    renderer.addTextLabel(i+1, date[i]);
    }
    renderer.setXLabelsAlign(Align.CENTER);
    renderer.setXLabels(0);

关于android - 如何在图表引擎中的 x 轴标签中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9904457/

相关文章:

android - 在android中的 View 中插入一个 View

android - 使用aChartEngine api在android中点击饼图选项

android - AChartEngine: "Auto-scaling"具有多个 Y 轴的图表

android - AchartEngine - 删除不需要的日期

android - 从图表引擎图表android中的y轴删除小数值

Java android onCreate 总是调用

android - 检测 phonegap 应用程序中的卸载事件

java - 使用时区信息转换日期时间(以毫秒为单位)

android - 用于在磁盘中存储文件以及在数据库中存储信息的内容提供程序

android "achartengine"y轴数据差异