当前位置: 首页 > 知识库问答 >
问题:

MPAndroidChart有没有办法为不同的条设置不同的颜色?

杭永安
2023-03-14

当数据不断传来时,整个堆栈向左移动时,条形图是动态添加的,有没有办法将第一个条形图的颜色设置为不同的颜色?谢谢。

编辑和解决方案:这是我在图表中添加新条目的代码,它每500毫左右动态发生一次。

 private void addBarEntry(float value) {


    BarData data = mDownloadChart.getData();

    if(data != null) {

        BarDataSet set = data.getDataSetByIndex(0);
        // set.addEntry(...); // can be called as well

        if (set == null) {
            set = createBarSet();
            data.addDataSet(set);
        }

        // add a new x-value first
        data.addXValue(set.getEntryCount() + "");

        // choose a random dataSet
        //int randomDataSetIndex = (int) (Math.random() * data.getDataSetCount());

        data.addEntry(new BarEntry(value, set.getEntryCount()), 0);

        // let the chart know it's data has changed
        mDownloadChart.notifyDataSetChanged();

        SLog.d(TAG, "download value: "+value);

        mDownloadChart.setVisibleXRange(10);
        mDownloadChart.moveViewToX(mDownloadChart.getHighestVisibleXIndex()-5);

        // redraw the chart
        mDownloadChart.invalidate();
    }
}

感谢@Philip Jahoda,我让它正常工作,只需在您的addEntry方法中添加这段代码:

int[] colors = new int[set.getEntryCount()];
            for (int i = 0; i<colors.length; i++){
                colors[i]=Color.parseColor("your-hex-color-for-all-entries");
            }
            colors[colors.length-1] = Color.parseColor("your-hex-color-for-last-entry");

            set.setColors(colors);

共有1个答案

广献
2023-03-14

是的,有,在留档。

基本上,您可以为图表中的每个条形图设置单独的颜色。现在有点不方便,因为在您的情况下,必须将每种颜色设置为“红色”,最后一种颜色设置为“绿色”。

我正在努力改进这一点。

 类似资料:
  • 所以我想在条形图中选择一个条形图,当我选择一个条形图时,它会改变条形图的颜色(我知道怎么做),但也会改变相应x轴标签的颜色。有没有办法做到这一点,如果有,谁能帮帮我吗?

  • 我在我的供应链模型中有两种类型的边缘:demand_links和supply_links。所有链接的默认颜色是灰色。但是我想在每次更改demand_link的属性时将demand_links的颜色更改为红色(注意:边缘是通过边缘创建者自定义边缘代理)。如何做到这一点? 下面是我的简单测试代码,但它不起作用。 初始化时我收到错误。

  • 我有5个不同的jmeter脚本。这5个不同的jmeter脚本是在5个不同的jmx文件中准备的。 < li>Test1.jmx < li>Test2.jmx < li>Test3.jmx < li>Test4.jmx < li>Test5.jmx 我想在不同的机器上分布式运行这5个jmx文件。在我的架构中,我想有一个主服务器和5个从服务器。这个主服务器将控制5个从服务器。 例如: Test1.jmx

  • 因此,我有一段代码,它以我需要的格式愉快地显示了一个图形: 我想让图表中的一个条显示为不同于上面代码中设置的颜色。

  • 我已经研究了如何更改Angulal-Chart.js的颜色,但它涉及整个(数据集)的颜色,而不是特定的条。 我要寻找的是一种在条形图中为每个条形应用不同颜色的方法;从图表到角度。 所以,我有一个条形图: 使用以下角度代码(当然是在控制器中) 其中将返回随机颜色。 现在,字段将此颜色应用于所有条: 当我真的想为每个酒吧不同的颜色: 柱塞

  • 我一直在用java写一个作业,但当我试图写任何阿姆哈拉语字符时,它们会变成方框 例如,当我尝试在IntelliJ或net bean上打印这个阿姆哈拉字符 (አማርኛ) 时,它会显示为小盒子 如果有人熟悉这个请看看,提前谢谢。