java - AchartEngine 中折线图的渐变颜色

标签 java android achartengine linechart

我正在使用 AchartEngine 绘制折线图。

我做了什么:我想使用 Achart 引擎制作折线图。但是像我们在条形图中所做的那样启用不同的颜色渐变。

我已经制作折线图了,不用担心。

我知道Gradient只有Achart Engine中的范围条形图支持。但是,如果有人有的话,应该有一些解决方法。

我的代码如下:

public GraphicalView graph(Context context) {
        String[] titles = new String[] { "Nike Line Graph" };
        List<double[]> values = new ArrayList<double[]>();

        values.add(new double[] { 14230, 12300, 14240, 15244, 14900, 12200,
                11030, 12000, 12500, 15500, 14600, 15000 });


        int length = values.get(0).length;

        Log.d("****length*********", "" + length);

        int[] colors = new int[] { Color.GREEN };
        PointStyle[] styles = new PointStyle[] { PointStyle.POINT };

        XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
        setChartSettings(renderer, "Monthly sales in the last 2 years",
                "Month", "Units sold", 0.75, 12.25, 10000, 19000,
                Color.argb(0x00, 0x01, 0x01, 0x01),
                Color.argb(0x00, 0x01, 0x01, 0x01));

        renderer.setChartTitleTextSize(20);
        renderer.setTextTypeface("sans_serif", Typeface.BOLD);
        renderer.setLabelsTextSize(0f);
        renderer.setLabelsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
        renderer.setAxisTitleTextSize(15);
        renderer.setApplyBackgroundColor(true);
        renderer.setBackgroundColor(Color.argb(0x00, 0x01, 0x01, 0x01));
        renderer.setLegendTextSize(15);
        renderer.setScale(10);
        renderer.setShowAxes(false);
        renderer.setXLabelsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
        renderer.setYLabelsColor(0, Color.argb(0x00, 0x01, 0x01, 0x01));
        renderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));

        renderer.setPanEnabled(false, false);
        renderer.setZoomEnabled(false, false);
        length = renderer.getSeriesRendererCount();
        SimpleSeriesRenderer r1 = new SimpleSeriesRenderer();

        r1.setGradientEnabled(true);
        r1.setGradientStart(-50, Color.BLACK);
        r1.setGradientStop(50, Color.GREEN);



        Log.d("****length*********", "" + length);

        for (int i = 0; i < length; i++) {
            XYSeriesRenderer r = (XYSeriesRenderer) renderer
                    .getSeriesRendererAt(i);
            r.setLineWidth(5f);
        }

        GraphicalView v = ChartFactory.getCubeLineChartView(context,
                buildBarDataset(titles, values), renderer, 0.5f);
        return v;

    }

有了方法:

protected XYMultipleSeriesRenderer buildRenderer(int[] colors,
            PointStyle[] styles) {
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
        setRenderer(renderer, colors, styles);
        return renderer;
    }

    protected void setRenderer(XYMultipleSeriesRenderer renderer, int[] colors,
            PointStyle[] styles) {
        renderer.setAxisTitleTextSize(16);
        renderer.setChartTitleTextSize(20);
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setPointSize(5f);

        renderer.setMargins(new int[] { 20, 30, 15, 20 });
        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);     

        }

我得到的是如下截图:

enter image description here

我想要什么:

enter image description here

问题:我想给这个折线图添加渐变颜色。从一种颜色到另一种颜色。

我们将不胜感激任何帮助。

提前致谢。

最佳答案

使用多个系列,每个系列都有自己的颜色。

关于java - AchartEngine 中折线图的渐变颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15383019/

相关文章:

java - 在 AChartEngine 中为堆叠图设置 Android Toast

Android achartengine 简单饼图

java - session 在 android 的 webView 中不起作用

java - Spring Data MongoDB 如何从系统属性设置索引 ttl

android - 我如何在物体行进的方向上对物体施加力 (Box2D)?

安卓。如何显示大表情符号? (字体太大,无法放入缓存)

java - 有什么方法可以从静态方法中获取泛型 T 类对象(不调用构造函数)?

java - 找不到 ssl jdbc 连接 keystore

android - 将 SSL 证书添加到 keystore

android - PieChart achartengine 中的水平图例