前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python可视化来分析全国疫情

python可视化来分析全国疫情

作者头像
Lansonli
发布2021-10-09 14:58:26
5390
发布2021-10-09 14:58:26
举报
文章被收录于专栏:Lansonli技术博客Lansonli技术博客

很长一段时间在python下出图都是使用matplotlib,其好处就是应用比较广泛,文档很容易找,不过出的图微显丑陋。pyecharts 是百度的echarts基于python的实现,可以很方便的直接在python里进行调用。其出的图相当漂亮。但由于版本原因,一些方法可能和老的版本会有不同。

一、安装

我这里使用的python版本是python3.7,使用pyecharts也是最新的。使用pip安装还是比较简单的。

代码语言:javascript
复制
pip install pyecharts 
pip install pyecharts-jupyter-installer

注意,第二个包是为了和jupyter进行集成用的,便于直接在页面上出图。第二个包不装或都调用的参数不对,都会出现如下的报错:

代码语言:javascript
复制
Javascript error adding output!
ReferenceError: echarts is not defined
See your browser Javascript console for more details.

另外国内的地图和之前的版本不同,是进行了单独分离过的,如果需要使用,需要使用如下命令进行安装:

代码语言:javascript
复制
pip install echarts-countries-pypkg
pip install echarts-china-provinces-pypkg
pip install echarts-china-cities-pypkg
pip install echarts-china-counties-pypkg
pip install echarts-china-misc-pypkg
pip install echarts-united-kingdom-pypkg

安装完成后,可以使用pip show pyecharts 查看安装的位置。

二、jupyter运行出图

我这里使用的jupyter直接在页面上调用使用的,测试代码如下:

代码语言:javascript
复制
from pyecharts.charts import Bar
from pyecharts import options as opts
bar = (
Bar()
.add_xaxis(["衬衫", "毛衣", "领带", "裤子", "风衣", "高跟鞋", "袜子"])
.add_yaxis("商家A", [114, 55, 27, 101, 125, 27, 105])
.add_yaxis("商家B", [57, 134, 137, 129, 145, 60, 49])
.set_global_opts(title_opts=opts.TitleOpts(title="某商场销售情况"))
)
bar.render_notebook()
#bar.render() #使用render方法会生成html页面

直接页面上运行后结果如下:

pyecharts
pyecharts

另外如果在jupyter页面上不能出图,除了上面提到的类名称引入不对外,还可能是缺少html5lib包。还需要注意jupter和jupterlab是两个不同的产品,后面这个是jupter的未来版。这个在引入的时候使用的代码是有区别的。具体可以看官方示例。

python可视化来分析全国疫情代码

代码语言:javascript
复制
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType
import requests
import json
res = json.loads(requests.get('http://www.dzyong.top:3005/yiqing/province/').text)
print(res)
province = [p['provinceName'] for p in res['data']]
val1 = [p['confirmedNum'] for p in res['data']]
val2 = [p['curesNum'] for p in res['data']]
val3 = [p['deathsNum'] for p in res['data']]
geo = Geo()
geo.add_schema(maptype="china")
geo.add(
    "geo",
    [list(z) for z in zip(province, val1)],
    type_=ChartType.EFFECT_SCATTER,
)

geo.set_series_opts(label_opts=opts.LabelOpts(is_show=False, background_color='black', color='green'))
geo.set_global_opts(
    visualmap_opts=opts.VisualMapOpts(is_piecewise=True, min_=0, max_=30000),
    title_opts=opts.TitleOpts(title="全国实时数据"))
geo.render('全国实时数据.html')
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/02/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、安装
  • 二、jupyter运行出图
  • python可视化来分析全国疫情代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档