highcharts 在HighMaps中,我们如何用图案填充世界Map?

qv7cva1a  于 2022-11-10  发布在  Highcharts
关注(0)|答案(1)|浏览(187)

我特灵在世界Map上添加点状图案...使用highmaps和pattern-fillidojs。在这样做的时候,我给出了一个没有颜色的基本Map。
我用了下面的模板为相同的...帮我把它的权利。
我们的目标是得到一个世界大陆Map,其中所有大陆都是图案填充的,图案如下所示:
pattern-to-be-generated

(async () => {

  const topology = await fetch(
    'https://code.highcharts.com/mapdata/custom/world-continents.topo.json'
  ).then(response => response.json());

  // Prepare demo data. The data is joined to map using value of 'hc-key'
  // property by default. See API docs for 'joinBy' for more info on linking
  // data and map.
  const data = [
    ['eu', 10],
    ['oc', 11],
    ['af', 12],
    ['as', 13],
    ['na', 14],
    ['sa', 15]
  ];

  // Create the chart
  Highcharts.mapChart('container', {
    chart: {
      type: 'map',
      map: topology
    },

    title: {
      text: 'Highcharts Maps basic demo'
    },

    subtitle: {
      text: 'Source map: <a href="http://code.highcharts.com/mapdata/custom/world-continents.topo.json">World continents</a>'
    },

    mapNavigation: {
      enabled: true,
      buttonOptions: {
        verticalAlign: 'bottom'
      }
    },

    colorAxis: {
      min: 0
    },

    plotOptions: {
      series: {
        type: "map",
        color: {
          pattern: {
            path: {
              d: 'M 3 3 L 8 3 L 8 8 Z',
              fill: '#102045'
            },
            width: 12,
            height: 12,
            color: '#907000',
            opacity: 0.5
          }
        }
      }
    },
    series: [{
      data: data,
      name: 'Random data',
      color: 'red',
      dataLabels: {
        enabled: true,
        format: '{point.name}'
      }
    }]
  });

})();
2sbarzqh

2sbarzqh1#

您在plotOptions中的color设置被系列选项中的color覆盖。您需要在其中一个位置指定颜色。

plotOptions: {
  series: {
    type: "map",
    color: {
      pattern: {
        path: {
          d: 'M 5 5 m -4 0 a 4 4 0 1 1 8 0 a 4 4 0 1 1 -8 0',
          fill: 'red'
        },
        patternTransform: 'rotate(20)',
        width: 12,
        height: 12,
        color: 'red'
      }
    }
  }
}

现场演示:http://jsfiddle.net/BlackLabel/p60e79sw/
文件:https://www.highcharts.com/docs/chart-design-and-style/pattern-fills

相关问题