当前位置: 首页 > news >正文

asp net做购物网站汕头制作手机网站

asp net做购物网站,汕头制作手机网站,制作会员手机网站,网站做担保交易目录 world_population.py 16.2.5 制作世界地图 americas.py 16.2.6 在世界地图上呈现数字数据 na_populations.py 16.2.7 绘制完整的世界人口地图 world_population.py 16.2.8 根据人口数量将国家分组 world_population.py 16.2.9 使用 Pygal 设置世界地图的样式 w… 目录 world_population.py 16.2.5 制作世界地图 americas.py 16.2.6 在世界地图上呈现数字数据 na_populations.py 16.2.7 绘制完整的世界人口地图 world_population.py 16.2.8 根据人口数量将国家分组 world_population.py 16.2.9 使用 Pygal 设置世界地图的样式 world_population.py 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新 from pygal.i18n import COUNTRIES 1 def get_country_code(country_name):根据指定的国家返回Pygal使用的两个字母的国别码 3 for code, name in COUNTRIES.items():  if name country_name:return code# 如果没有找到指定的国家就返回None 4 return None print(get_country_code(Andorra)) print(get_country_code(United Arab Emirates)) print(get_country_code(Afghanistan)) get_country_code()接受国家名并将其存储在形参country_name中见1。接下来我们 遍历COUNTRIES中的国家名—国别码对见2如果找到指定的国家名就返回相应的国别码见 3。在循环后面我们在没有找到指定的国家名时返回None见4。最后我们使用了三个国 家名来调用这个函数以核实它能否正确地工作。与预期的一样这个程序输出了三个由两个字 母组成的国别码 ad ae af 使用这个函数前先将country_codes.py中的print语句删除。 接下来在world_population.py中导入get_country_code world_population.py import json from country_codes import get_country_code --snip-- # 打印每个国家2010年的人口数量 for pop_dict in pop_data:if pop_dict[Year] 2010:country_name pop_dict[Country Name]population int(float(pop_dict[Value])) 1 code get_country_code(country_name)if code: 2 print(code : str(population)) 3 else:print(ERROR - country_name) 提取国家名和人口数量后我们将国别码存储在code中如果没有国别码就在其中存储None 见1。如果返回了国别码就打印国别码和相应国家的人口数量见2。如果没有找到国别 码就显示一条错误消息其中包含无法找到国别码的国家的名称见3。如果你运行这个程 序将看到一些国别码和相应国家的人口数量还有一些错误消息 ERROR - Arab World ERROR - Caribbean small states ERROR - East Asia Pacific (all income levels) --snip-- af: 34385000 al: 3205000 dz: 35468000 --snip ERROR - Yemen, Rep. zm: 12927000 zw: 12571000 导致显示错误消息的原因有两个。首先并非所有人口数量对应的都是国家有些人口数量 对应的是地区阿拉伯世界和经济类群所有收入水平。其次有些统计数据使用了不同的 完整国家名如Yemen, Rep.而不是Yemen。当前我们将忽略导致错误的数据看看根据成 功恢复了的数据制作出的地图是什么样的。 16.2.5 制作世界地图 有了国别码后制作世界地图易如反掌。Pygal提供了图表类型Worldmap可帮助你制作呈现 各国数据的世界地图。为演示如何使用Worldmap我们来创建一个突出北美、中美和南美的简单 地图 americas.py import pygal 1 wm pygal.Worldmap() wm.title North, Central, and South America 2 wm.add(North America, [ca, mx, us]) wm.add(Central America, [bz, cr, gt, hn, ni, pa, sv]) wm.add(South America, [ar, bo, br, cl, co, ec, gf,gy, pe, py, sr, uy, ve])3 wm.render_to_file(americas.svg) 在1处我们创建了一个Worldmap实例并设置了该地图的的title属性。在2处我们使用 了方法add()它接受一个标签和一个列表其中后者包含我们要突出的国家的国别码。每次调 用add()都将为指定的国家选择一种新颜色并在图表左边显示该颜色和指定的标签。我们要以 同一种颜色显示整个北美地区因此第一次调用add()时在传递给它的列表中包含ca、mx 和us以同时突出加拿大、墨西哥和美国。接下来对中美和南美国家做同样的处理。 3处的方法render_to_file()创建一个包含该图表的.svg文件你可以在浏览器中打开它。输 出是一幅以不同颜色突出北美、中美和南美的地图如图16-7所示。 知道如何创建包含彩色区域、颜色标示和标签的地图后我们在地图中添加数据以显示有 关国家的信息。 16.2.6 在世界地图上呈现数字数据 为练习在地图上呈现数字数据我们来创建一幅地图显示三个北美国家的人口数量 na_populations.py import pygal wm pygal.Worldmap() wm.title Populations of Countries in North America 1 wm.add(North America, {ca: 34126000, us: 309349000, mx: 113423000}) wm.render_to_file(na_populations.svg) 首先创建了一个Worldmap实例并设置了标题。接下来使用了方法add()但这次通过第 二个实参传递了一个字典而不是列表见1。这个字典将两个字母的Pygal国别码作为键将人 口数量作为值。Pygal根据这些数字自动给不同国家着以深浅不一的颜色人口最少的国家颜色 最浅人口最多的国家颜色最深如图16-8所示。 这幅地图具有交互性如果你将鼠标指向某个国家将看到其人口数量。下面在这个地图中 添加更多的数据。 16.2.7 绘制完整的世界人口地图 要呈现其他国家的人口数量需要将前面处理的数据转换为Pygal要求的字典格式键为两 个字母的国别码值为人口数量。为此在world_population.py中添加如下代码 world_population.py import json import pygal from country_codes import get_country_code # 将数据加载到列表中 --snip-- # 创建一个包含人口数量的字典 1 cc_populations {} for pop_dict in pop_data:if pop_dict[Year] 2010:country pop_dict[Country Name]population int(float(pop_dict[Value]))code get_country_code(country)if code: 2 cc_populations[code] population 3 wm pygal.Worldmap() wm.title World Population in 2010, by Country 4 wm.add(2010, cc_populations) wm.render_to_file(world_population.svg) 我们首先导入了pygal。在1处我们创建了一个空字典用于以Pygal要求的格式存储国别 码和人口数量。在2处如果返回了国别码就将国别码和人口数量分别作为键和值填充字典 cc_populations。我们还删除了所有的print语句。 在3处我们创建了一个Worldmap实例并设置其title属性。在4处我们调用了add() 并向它传递由国别码和人口数量组成的字典。图16-9显示了生成的地图。 有几个国家没有相关的数据我们将其显示为黑色但对于大多数国家都根据其人口数量 进行了着色。本章后面将处理数据缺失的问题这里先来修改着色以更准确地反映各国的人口 数量。在当前的地图中很多国家都是浅色的只有两个国家是深色的。对大多数国家而言颜 色深浅的差别不足以反映其人口数量的差别。为修复这种问题我们将根据人口数量将国家分组 再分别给每个组着色。 16.2.8 根据人口数量将国家分组 印度和中国的人口比其他国家多得多但在当前的地图中它们的颜色与其他国家差别较小。 中国和印度的人口都超过了10亿接下来人口最多的国家是美国但只有大约3亿。下面不将所 有国家都作为一个编组而是根据人口数量分成三组——少于1000万的、介于1000万和10亿之间 的以及超过10亿的 world_population.py --snip-- # 创建一个包含人口数据的字典 cc_populations {} for pop_dict in pop_data:if pop_dict[Year] 2010:--snip--if code:cc_populations[code] population # 根据人口数量将所有的国家分成三组 1 cc_pops_1, cc_pops_2, cc_pops_3 {}, {}, {} 2 for cc, pop in cc_populations.items():if pop 10000000:cc_pops_1[cc] popelif pop 1000000000:cc_pops_2[cc] popelse:cc_pops_3[cc] pop # 看看每组分别包含多少个国家 3 print(len(cc_pops_1), len(cc_pops_2), len(cc_pops_3)) wm pygal.Worldmap() wm.title World Population in 2010, by Country 4 wm.add(0-10m, cc_pops_1) wm.add(10m-1bn, cc_pops_2) wm.add(1bn, cc_pops_3) wm.render_to_file(world_population.svg) 为将国家分组我们创建了三个空字典见1。接下来遍历cc_populations检查每个国 家的人口数量见2。if-elif-else代码块将每个国别码人口数量对加入到合适的字典 cc_pops_1、cc_pops_2或cc_pops_3中。 在3处我们打印这些字典的长度以获悉每个分组的规模。绘制地图时我们将全部三个 分组都添加到Worldmap中见4。如果你现在运行这个程序首先看到的将是每个分组的规模 85 69 2 上述输出表明人口少于1000万的国家有85个人口介于1000万和10亿之间的国家有69个还有两个国家比较特殊其人口都超过了10亿。这样的分组看起来足够了让地图包含丰富的信 息。图16-10显示了生成的地图。 现在使用了三种不同的颜色让我们能够看出人口数量上的差别。在每组中各个国家都按 人口从少到多着以从浅到深的颜色。 16.2.9 使用 Pygal 设置世界地图的样式 在这个地图中根据人口将国家分组虽然很有效但默认的颜色设置很难看。例如在这里 Pygal选择了鲜艳的粉色和绿色基色。下面使用Pygal样式设置指令来调整颜色。 我们也让Pygal使用一种基色但将指定该基色并让三个分组的颜色差别更大 world_population.py import json import pygal 1 from pygal.style import RotateStyle --snip-- # 根据人口数量将所有的国家分成三组 cc_pops_1, cc_pops_2, cc_pops_3 {}, {}, {} for cc, pop in cc_populations.items():if pop 10000000:--snip-- 2 wm_style RotateStyle(#336699) 3 wm pygal.Worldmap(stylewm_style) wm.title World Population in 2010, by Country --snip-- 关于“Python”的核心知识点整理大全37-CSDN博客 关于“Python”的核心知识点整理大全25-CSDN博客 关于“Python”的核心知识点整理大全12-CSDN博客 往期快速传送门在文章最后 感谢大家的支持欢迎订阅收藏专栏将持续更新
http://www.pierceye.com/news/75564/

相关文章:

  • 网站制作做站长挣钱群辉 wordpress 端口
  • 广州英文网站制作软件外包公司可以去吗
  • 简单的网站设计怎么做建设网站用图片需要版权
  • 购买域名的网站精品网站开发公司
  • 衡水做网站哪家好自己的网站如何让百度收录
  • 做网站 看什么书汽车报价大全官网
  • 西安专业得网站建设公司深夜适合男人看的软件
  • 绍兴企业建站模板凡科网站的排名做不上去
  • 网站 设计WordPress网站注册账户
  • 网站开发写好了怎么发布wordpress 音乐播放器
  • 网站平台建设呈现全新亮点该模板尚未授权此网站
  • 百度站长工具平台ppt超链接到网站怎么做
  • 提供信息门户网站定制网站搭建服务平台
  • 扬州网站建设制作免费做详情页的软件
  • 安卓app开发语言seo排名赚钱
  • php企业网站模板免费下载互联网外包公司值得去吗
  • ps网站怎么做滑动背景网站排名优化多少钱
  • 郑州自助建站模板企业vi设计包括哪些内容
  • 电商物流建设网站过程昆山建设企业网站
  • 比较好的高端网站制作公司wordpress怎么禁止评论
  • 国内做的好的网站深圳注册公司补贴政策
  • 犀牛云建设网站wordpress on zencart
  • 江门网站建设企业网站建设范文
  • 网站开发 顺德wordpress安装插件500
  • 买花网站代码公司 宜宾网站建设
  • 一加手机官网网站建设网站制作流程
  • 免费网站建设ppt模板下载网站建设 价格低
  • 京东物流网站wordpress付费文章
  • 手机投资app平台搜索引擎优化的目的是对用户友好
  • dw做的简单的个人网站网盘公众号平台入口