【问题标题】:Geochart - mark one country with a special colorGeochart - 用特殊颜色标记一个国家
【发布时间】:2015-06-20 09:29:40
【问题描述】:

有一个 Google Geochart 的标准示例,国家有一个刻度颜色取决于值。我的问题是如何用红色标记一个国家,例如加拿大,但像以前一样离开另一个国家。如果加拿大没有价值也没关系,只是如何用另一种颜色标记它? https://jsfiddle.net/8wowo9xc/

 google.setOnLoadCallback(drawRegionsMap);

  function drawRegionsMap() {

    var data = google.visualization.arrayToDataTable([
      ['Country', 'Popularity'],
      ['Germany', 200],
      ['United States', 300],
      ['Brazil', 400],
      ['Canada', 500],
      ['France', 600],
      ['RU', 700]
    ]);

    var options = {};

    var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));

    chart.draw(data, options);
  }

愿望结果:

【问题讨论】:

    标签: javascript google-maps charts


    【解决方案1】:

    如果您指定defaultColor 并且不给Canada 任何值,这将完全符合您的要求。

    比如:

      google.setOnLoadCallback(drawRegionsMap);
    
      function drawRegionsMap() {
    
        var data = google.visualization.arrayToDataTable([
          ['Country', 'Popularity'],
          ['Germany', 200],
          ['United States', 300],
          ['Brazil', 400],
          ['Canada', null],
          ['France', 600],
          ['RU', 700]
        ]);
    
          var options = {defaultColor: 'red'};
    
        var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
    
        chart.draw(data, options);
      }
    

    【讨论】:

      【解决方案2】:

      尝试:

      var data = google.visualization.arrayToDataTable([
        ['Country', 'Popularity'],
        ['Canada', 500]
      ]);
      

      对于其他国家或其他颜色,只需试试这个:

      function drawRegionsMap() {
      
        var data = google.visualization.arrayToDataTable([
            ['Country', 'Popularity'],
            ['Ireland', 200],
      
        ]);
      
        var options = {
          //region: 'IT',
          //displayMode: 'markers',
          colorAxis: {colors: ['red']}
        };
      

      或者为您的最后一个请求尝试:

      google.setOnLoadCallback(drawRegionsMap);
      
      function drawRegionsMap() {
      
        var data = google.visualization.arrayToDataTable([
            ['Country', 'Popularity'],
            ['Canada', 100],
            ['US', 1000], 
            ['Russia',500]
      
        ]);
      
        var options = {
          //region: 'IT',
          //displayMode: 'markers',
          colorAxis: {colors: ['red', 'green', 'lightgreen']}
        };
      
      
      
        var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
      
        chart.draw(data, options);
      }
      

      最后考虑: 要使用多边形,应该已经有带有坐标的各种状态的多边形。然而,它涉及到用 JavaScript 编写一个小程序。如果您只需要一个带有状态突出显示(红色)和另一个带有两种颜色(深绿色和浅绿色)的数据表示,您最好像我在示例中所做的那样利用数值。创建您感兴趣的状态列表,并声明您编织 mo 以最低值显示为红色,并通过显示中间颜色等来显示中间值。

      前进的道路很大程度上取决于您作为程序员的经验。

      【讨论】:

      • 但我需要保留其他国家/地区的数据。
      • 我添加了一张带有愿望结果的图片。
      • 我已经再次更新了答案,如果你觉得这很有用,请给它评分。
      • 但是如果我的数据表中有下一个国家:['Brazil', 50],它也会是红色的,但应该是浅绿色。我只需要指定国家/地区的特定颜色。
      • 如果您希望这种行为使用谷歌地图多边形并通过程序控制它们,这种方式是不可能的。在此示例中,颜色与表格相关,并且与图例中的值报告相关。
      猜你喜欢
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 1970-01-01
      • 2018-08-14
      • 1970-01-01
      相关资源
      最近更新 更多