Skip to main content
 首页 » 编程设计

python之使用 "pygal.maps.world"绘制世界地图时如何为每个类别设置特定的颜色

2025年01月19日33linjiqin

有没有人用pygal中的pygal.maps.world画世界地图? 我有 5 个不同的类别,每个类别包括几个国家。如何为每个类别设置特定颜色?

下面是我的部分代码:

supra = pygal.maps.world.SupranationalWorld() 
supra.add('Asia', Asia_list) 
supra.add('Europe', Europe_list) 
supra.add('Africa', Africa_list) 
supra.render() 

Asia_list、Europe_list 和 Africa_list 是我定义的三个列表,其中包括某些国家/地区。

如何自己设置颜色?谢谢!

请您参考如下方法:

首先,您可以覆盖 pygal 将与 Style 类一起使用的默认颜色。我在下面使用的格式是为 pygal 将使用的前三种颜色分配一个十六进制三元组值。要添加更多颜色,只需将更多颜色添加到列表中即可。有关十六进制三元组的更多信息,此维基百科页面可以提供帮助:https://en.wikipedia.org/wiki/Web_colors

以下是样式更改:

from pygal.style import Style 
custom_style = Style(colors=('#FFFF00', '#00FFFF', '#FF00FF')) 

其次,我无法像上面的示例那样对 SupranationalWorld 进行这种样式更改,但我只能使用以下内容,我相信它可以满足您的要求:

worldmap_chart = pygal.maps.world.World(style=custom_style) 
worldmap_chart.add('Asia', Asia_list) 
worldmap_chart.add('Europe', Europe_list) 
worldmap_chart.add('Africa', Africa_list) 
worldmap_chart.render_to_file('world.svg') 

可以在此处找到有关您可以使用样式自定义的所有内容的文档:http://www.pygal.org/en/stable/documentation/custom_styles.html