繁体   English   中英

如何在条形图中更改x轴的显示值-achartengine

[英]how to change display value of x axis in bar graph-achartengine

我正在使用achartengine库的折线图,而不是时间戳,如何在x轴上显示日期 在此处输入图片说明

我的代码是

public GraphicalView getLine(Context context, LinkedHashMap<String, List<Item>> data, String value2, String value3) {


        List<TimeSeries> series=new ArrayList<TimeSeries>();
        Set<String> keys = data.keySet();
        for(String key:keys)
        {
            TimeSeries series1 = new TimeSeries(key); 
            List<Item> value=data.get(key);
            for(Item itm:value)
            {
                Double temp=Double.parseDouble(itm.getDataItem(value3));
                String temp1=null;
                if(value2.equals("created_time"))
                {

                    temp1=itm.getCreated_time();
                }
                else
                {
                    try
                    {
                    temp1=itm.getModified_time();
                    }
                    catch (NullPointerException e) {
                        temp1=itm.getCreated_time();
                    }


                }
                Timestamp timestamp = new Timestamp(Integer.parseInt(temp1.substring(0,10)));
                Date date = new Date(timestamp.getTime()*1000);

                series1.add(date,temp);

            }
            series.add(series1);
        }




        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        for(TimeSeries serie:series)
        {

            dataset.addSeries(serie); 

        }


        XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer(); // Holds a collection of XYSeriesRenderer and customizes the graph
        mRenderer.setBackgroundColor(Color.BLACK);
        mRenderer.setZoomEnabled(true);
        mRenderer.setAntialiasing(true);

        for(TimeSeries serie:series)
        {
        XYSeriesRenderer renderer = new XYSeriesRenderer(); // This will be used to customize line 1
        mRenderer.addSeriesRenderer(renderer);

        int color;
        Random rnd = new Random(); 
        color = Color.argb(200, rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));  
        renderer.setColor(color);

        renderer.setPointStyle(PointStyle.CIRCLE);
        renderer.setFillPoints(true);

        }
        return ChartFactory.getLineChartView(context, dataset, mRenderer);


    }

您可以设置自定义标签:

renderer.addXTextLabel(x, formattedDate);

我找到了更好的解决方案

ChartFactory.getTimeChartView(context, dataset,mRenderer, "DD-MM-YYY");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM