1.9 基础综合案例|pyechart第三方包


这里使用比较经典的pyechart的第三方包。

json数据格式

json是一种轻量级的数据交互形式。可以按照json指定的格式去组织和封装数据。或者这么说本质上json就是一个带有特定格式的字符串。

主要功能:json是一种在各个编程语言种流通的数据格式,负责不同编程语言中的数据传递和交互。

json的格式实际上就是(一个列表,内部的元素是字典)

python数据和json数据之间的相互转换

import json
data =[{'name':'张三','age':18},{'name':'李四','age':19}]
# 通过json.dumps方法把python的数据转化为json的数据
json_str = json.dumps(data)
print(type(json_str))
print(json_str)
# 我们可看见中文的地方不是我们所认识的,原因就是中文存储的数据格式与英文的不同,可以采用下列方法进行显示。
json_str = json.dumps(data,ensure_ascii=False)
print(json_str)
# 通过json.loads方法把json的数据转化为python的数据
python_str = json.loads(json_str)
print(type(python_str))
print(python_str)

输出结果:
在这里插入图片描述
值得注意的是,如果传入的数据仅有一个,那么传入传出的都是dic也就是字典类型。大于等于2个才是list列表类型。

还有就是json.dumps(data,ensure_ascii=False),在python数据转化为json数据的时候,如果内部有中文,而且我们也想要看看传入的数据对不对,可以加上ensure_ascii=False进行观察。

pyecharts模块介绍

pyecharts这个模块是帮助我们做出可视化的效果图的一种形式。这是百度研发的一个包。

官网:Echarts

以及更多的图表,可以参考内部图案给出的代码进行修改相关的数据值即可。

官网:Echarts的画廊功能

pyecharts快速入门

基础的折线图

from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
# 设置x轴y轴的变量
line = Line()
line.add_xaxis(["小红","小明","小张"])
line.add_yaxis("小红花",[10,20,15])
# 进行全局的配置 小技巧按住ctrl+p可以查看此函数内部需求的变量
line.set_global_opts(
    title_opts=TitleOpts(title="小红花数量呈现图",pos_left="center",pos_bottom="1%"),
    legend_opts=LegendOpts(is_show=True),
    toolbox_opts=ToolboxOpts(is_show=True),
    visualmap_opts=VisualMapOpts(is_show=True)
)
# 画出图标
line.render()

画出的结果:
在这里插入图片描述

值得注意的是,输出的是html为结果的图,用浏览器打开。

以及对于全局配置相关的操作想要进行了解,或者需要更深的应用,可以前往官网:Echarts

基础地图的使用

from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
# 构建地图对象
map = Map()
# 准备数据
data = [("上海市",100),("北京市",120),("广东省",140),("福建省",160),("浙江省",180)]
# 添加数据
map.add("测试图表",data)
# 设置全局选项
map.set_global_opts(
    visualmap_opts=VisualMapOpts(is_show=True,
                                 is_piecewise=True,
                                 pieces=[{"min":1,"max":99,"label":"1-199","color":"#CCFFFF"},
                                         {"min":100,"max":149,"label":"100-149","color":"#FF6666"},
                                         {"min":150,"max":200,"label":"150-200","color":"#990033"}]))
# 生成地图
map.render()

画出的结果:
在这里插入图片描述
值得注意的是,#CCFFFF是颜色的类型,对于颜色需要相关的也可以去下面的那个懒人网内部进行搜索。

基础柱状图

from pyecharts.charts import Bar
from pyecharts.options import *
# 构建柱状图对象
bar = Bar()
# 构造x轴
bar.add_xaxis(["小红","小明","小张"])
# 构造y轴,并且标签在右
bar.add_yaxis("小红花数目",[20,10,15],label_opts=LabelOpts(position='right'))
# 反转xy轴
bar.reversal_axis()

#绘图
bar.render()

画出的图案:
在这里插入图片描述

基础时间柱状图

# 导入相关功能
from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType
# 构建柱状图对象
bar1 = Bar()
bar2 = Bar()
bar3 = Bar()
# 构造x轴
bar1.add_xaxis(["小红","小明","小张"])
bar2.add_xaxis(["小红","小明","小张"])
bar3.add_xaxis(["小红","小明","小张"])
# 构造y轴,并且标签在右
bar1.add_yaxis("小红花数目",[20,10,15],label_opts=LabelOpts(position='right'))
bar2.add_yaxis("小红花数目",[30,20,30],label_opts=LabelOpts(position='right'))
bar3.add_yaxis("小红花数目",[40,40,35],label_opts=LabelOpts(position='right'))
# 反转xy轴
bar1.reversal_axis()
bar2.reversal_axis()
bar3.reversal_axis()
# 构建时间线对象,以及主题设置
timeline = Timeline({"theme" : ThemeType.LIGHT})
# 在时间线对象内绘制柱状图形
timeline.add(bar1,"时间1")
timeline.add(bar2,"时间2")
timeline.add(bar3,"时间3")
# 自动播放设置
timeline.add_schema(
    play_interval=1000,        # 自动播放时间差
    is_timeline_show= True,    # 是否自动播放的时候显示时间线
    is_auto_play=True,         # 是否自动播放
    is_loop_play=True          # 是否循环播放
)
#绘图
timeline.render()

画出的结果:
在这里插入图片描述

数据处理

对于数据的处理,这边推荐可以使用一个辅助观测的网站懒人网站

重点其实就在于去修改相关的数据。

调用的功能函数实际上也就是之前列表的相关函数。

过程:

  1. 先去掉头尾不符合字典规则的文字。
  2. 取出想要的数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值