首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改jvectormap负值颜色

更改jvectormap负值颜色
EN

Stack Overflow用户
提问于 2015-04-07 23:45:05
回答 2查看 538关注 0票数 0

默认情况下,当我的jvectormap中有负值时,它会将country显示为黑色(当检查country元素时,我会看到下面的"fill“值:#000NaN)。我想换一下这个颜色。我该怎么做呢?

编辑:这是黑客,但我更新了国家的颜色,当它是黑色的时候,通过循环国家和检查黑色。代码如下:

代码语言:javascript
复制
        try {
            map = elVectorMap.vectorMap('get', 'mapObject');
            map.series.regions[0].setValues(data);
        } catch (e) {
            var vectorMapOptions = {
                map: 'world_mill_en',
                backgroundColor: '#ffffff',
                regionStyle: {
                    initial: {
                        fill: '#aac5e1'
                    }
                },
                series: {
                    regions: [{
                        values: data,
                        scale: ['#aac5e1', '#0e569f'],
                        normalizeFunction: 'polynomial'
                    }]
                }
            };
            elVectorMap.vectorMap(vectorMapOptions);
        }

        // Change the color of negative value countries from black to red
        elVectorMap.find('.jvectormap-element[fill="#000NaN"]').each(function(){
            $(this).css('fill', '#ffcfcd');
        });
EN

回答 2

Stack Overflow用户

发布于 2017-05-13 01:38:57

使用此归一化函数而不是“多项式”或“线性”值

代码语言:javascript
复制
normalizeFunction: function(value) {
   if (value < 0)
      return - Math.pow(Math.abs(value), 0.2)
   return Math.pow(value, 0.2);
},
票数 1
EN

Stack Overflow用户

发布于 2015-04-08 20:11:56

问题出在normalizeFunction: 'polynomial'上。你必须用normalizeFunction: 'lineal'来改变它。但是,如果多项式归一化对您来说很重要,您始终可以生成两个序列,一个具有负值,另一个具有正值,以某种方式摆脱黑人国家问题。

示例:

代码语言:javascript
复制
    series: {
      regions: [{
        values: countryData2,
        scale: ['#d6655c', '#de837c', '#e6a29d', '#eec1bd', '#f6e0de'],
        normalizeFunction: 'lineal',
        legend: {
            vertical: false,
            title: "<span style=\"font-size:7px;\">% Dif.</span>"
        }
      },
      {
        values: countryData3,
        scale: ['#e6efe6', '#b5d0b4', '#84b183', '#539152', '#227220', '#0a6308'],
        normalizeFunction: 'polynomial',
        legend: {
            vertical: false,
            title: "<span style=\"font-size:7px;\">% Dif.</span>"
        }
      }

      ]
    },

然而,这也产生了两个不同的传奇,但对我来说根本不是问题。

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

https://stackoverflow.com/questions/29495649

复制
相关文章

相似问题

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