使用 pygal.maps.world 时,有没有办法格式化显示国家/地区人口的数字?
When using pygal.maps.world is there a way to format the numbers that display a country's population?
我正在使用 pygal 制作一个交互式地图,显示 2010 年以来的世界国家/地区人口。我正在尝试找到一种方法,使该国家/地区的人口显示为插入逗号,即 10,000 而不是简单的 10000。
我已经尝试使用“{:,}”.format(x) 将数字读取到我的不同人口水平的列表中,但它会导致错误。我相信这是因为这会将值更改为字符串。
我也尝试插入一段我在网上找到的代码
wm.value_formatter = lambda x: "{:,}".format(x).
这不会导致任何错误,但也不会修复数字的格式。我希望有人可能知道内置函数,例如:
wm_style = RotateStyle('#336699')
这是让我设置配色方案。
下面是我绘制地图的代码部分。
wm = World()
wm.force_uri_protocol = "http"
wm_style = RotateStyle('#996699')
wm.value_formatter = lambda x: "{:,}".format(x)
wm.value_formatter = lambda y: "{:,}".format(y)
wm = World(style=wm_style)
wm.title = "Country populations year 2010"
wm.add('0-10 million', cc_pop_low)
wm.add("10m to 1 billion", cc_pop_mid)
wm.add('Over 1 billion', cc_pop_high)
wm.render_to_file('world_population.svg')
设置 value_formatter
属性 将更改标签格式,但在您的代码中,您在设置 属性 后重新创建了 World
对象。这个新创建的对象将具有默认值格式化程序。您还可以删除设置 value_formatter
属性 的其中一行,因为它们都实现了相同的目的。
重新排序代码将解决您的问题:
wm_style = RotateStyle('#996699')
wm = World(style=wm_style)
wm.value_formatter = lambda x: "{:,}".format(x)
wm.force_uri_protocol = "http"
wm.title = "Country populations year 2010"
wm.add('0-10 million', cc_pop_low)
wm.add("10m to 1 billion", cc_pop_mid)
wm.add('Over 1 billion', cc_pop_high)
wm.render_to_file('world_population.svg')
我正在使用 pygal 制作一个交互式地图,显示 2010 年以来的世界国家/地区人口。我正在尝试找到一种方法,使该国家/地区的人口显示为插入逗号,即 10,000 而不是简单的 10000。
我已经尝试使用“{:,}”.format(x) 将数字读取到我的不同人口水平的列表中,但它会导致错误。我相信这是因为这会将值更改为字符串。
我也尝试插入一段我在网上找到的代码
wm.value_formatter = lambda x: "{:,}".format(x).
这不会导致任何错误,但也不会修复数字的格式。我希望有人可能知道内置函数,例如:
wm_style = RotateStyle('#336699')
这是让我设置配色方案。
下面是我绘制地图的代码部分。
wm = World()
wm.force_uri_protocol = "http"
wm_style = RotateStyle('#996699')
wm.value_formatter = lambda x: "{:,}".format(x)
wm.value_formatter = lambda y: "{:,}".format(y)
wm = World(style=wm_style)
wm.title = "Country populations year 2010"
wm.add('0-10 million', cc_pop_low)
wm.add("10m to 1 billion", cc_pop_mid)
wm.add('Over 1 billion', cc_pop_high)
wm.render_to_file('world_population.svg')
设置 value_formatter
属性 将更改标签格式,但在您的代码中,您在设置 属性 后重新创建了 World
对象。这个新创建的对象将具有默认值格式化程序。您还可以删除设置 value_formatter
属性 的其中一行,因为它们都实现了相同的目的。
重新排序代码将解决您的问题:
wm_style = RotateStyle('#996699')
wm = World(style=wm_style)
wm.value_formatter = lambda x: "{:,}".format(x)
wm.force_uri_protocol = "http"
wm.title = "Country populations year 2010"
wm.add('0-10 million', cc_pop_low)
wm.add("10m to 1 billion", cc_pop_mid)
wm.add('Over 1 billion', cc_pop_high)
wm.render_to_file('world_population.svg')