首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在任意图表中将序数颜色转换为线性颜色热图?

如何在任意图表中将序数颜色转换为线性颜色热图?
EN

Stack Overflow用户
提问于 2020-09-03 02:59:12
回答 1查看 182关注 0票数 0

今天,我试图在android中使用Any图表库创建一个2d热图图。我无法将序色转换为线性颜色。有人能帮我一下吗。

短信息:

在Android工作室中设置gradle:

代码语言:javascript
复制
allprojects {
repositories {
    google()
    jcenter()
    maven { url 'https://jitpack.io' }
}

}

代码语言:javascript
复制
dependencies {
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.github.AnyChart:AnyChart-Android:1.1.2'

热图创建:

代码语言:javascript
复制
    HeatMap heatmaps = AnyChart.heatMap();
    List<DataEntry> data = new ArrayList<>();

热图数据输入:

代码语言:javascript
复制
        for (int i = 0; i < 1; i++) {
        for (int j = 0; j < nx; j++) {
            for (int k = 0; k < nx; k++) {
                data.add(new HeatDataEntry(j + "", k + "", Pressure[i][j][k]));
            }
        }
    }

最终情节:

代码语言:javascript
复制
   String[] strArray3 = {"#90caf9", "#ffb74d", "#d84315"};
   heatmaps.colorScale().colors(strArray3);
   heatmaps.data(data);
   AnyChartView anyChartView = (AnyChartView) findViewById(R.id.any_chart_view);
   anyChartView.setChart(heatmaps);

视图

如何消除每个颜色块之间的空白?

谢谢你的帮助。

完整代码:

代码语言:javascript
复制
        int nx=100;
    int[][][] Pressure=new int[1][nx][nx];
    for (int i=0;i<1;i++) {
        for (int j=0;j<nx;j++) {
            for (int k=0;k<nx;k++) {
                Pressure[i][j][k] = 50;
            }
        }
    }

    for (int i=0;i<1;i++) {
        for (int j=nx/2-5;j<=nx/2+5;j++) {
            for (int k=nx/2-5;k<=nx/2+5;k++) {
                Pressure[i][j][k] = 20;
            }
        }
    }
    for (int i=0;i<1;i++) {
        for (int j=nx/2-3;j<=nx/2+3;j++) {
            for (int k=nx/2-3;k<=nx/2+3;k++) {
                Pressure[i][j][k] = 2;
            }
        }
    }


    HeatMap heatmaps = AnyChart.heatMap();
    List<DataEntry> data = new ArrayList<>();

    for (int i = 0; i < 1; i++) {
        for (int j = 0; j < nx; j++) {
            for (int k = 0; k < nx; k++) {
                data.add(new HeatDataEntry(j + "", k + "", Pressure[i][j][k]));
            }
        }
    }
    String[] strArray3 = {"#90caf9", "#ffb74d", "#d84315"};
    heatmaps.colorScale().colors(strArray3);
    heatmaps.data(data);
   AnyChartView anyChartView = (AnyChartView) findViewById(R.id.any_chart_view);
   anyChartView.setChart(heatmaps);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-04 07:45:41

目前,任何图表都没有在热图中使用线性颜色的能力,所以我们可以使用,

代码语言:javascript
复制
HeatMap heatmaps = AnyChart.heatMap();
heatmaps.stroke("none");  

移除两种颜色之间的白色笔画。

资料来源:任何图表支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63716146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档