【Python笔记篇-5】python实现创建地图、柱状图且补充sort方法

本文介绍了如何使用pyecharts库在Python中创建基础地图、柱状图和使用sort方法对列表进行排序。通过实例展示了如何运用Echarts技术栈制作可视化图表,包括地图上的数据展示、柱状图的构建以及时间线用于动态数据趋势呈现。
摘要由CSDN通过智能技术生成

目录

一、创建基础地图

二、创建柱状图

三、补充列表 sort方法


环境设置:下载包

1.开发可视化图表使用的技术栈:Echarts的python版本:pyecharts包

2.查看官方示例:http://gallery.pyecharts.org/#/README

一、创建基础地图

1、通过pyrcharts导入Map包

2、创建地图对象

3、使用列表创建数据

4、添加地图数据、设置全局属性

5、调用该方法

练习代码:

# 演示地图可视化的基本使用
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
# 准备地图对象
map = Map()
# 使用列表准备数据
data = [
    ("北京市",99),
    ("上海市",199),
    ("广东省",299),
    ("湖南省",399),
    ("台湾省",499),
]
# 添加数据
map.add("测试地图",data,"china")
# 设置全局
map.set_global_opts(
    visualmap_opts=VisualMapOpts(
        is_show=True,
        is_piecewise=True,
        pieces=[
            {"min":1,"max":9,"label":"1-9人","color":"#CCFFF"},
            {"min": 10, "max": 99, "label": "10-99人", "color": "#FFFF99"},
            {"min": 100, "max": 499, "label": "99-499人", "color": "#FF9966"},
            {"min": 500, "max": 999, "label": "499-999人", "color": "#FF6666"},
            {"min": 1000, "max": 9999, "label": "1000-9999人", "color": "#CC3333"},
            {"min": 10000, "label": "10000以上", "color": "#990033"},

        ]
    )
)
# 调用
map.render("基础地图.html")

 

二、创建柱状图

1.通过Bar()构建一个柱状图对象
2.和折线图一样,通过add xaxis()和add yaxis()添加x和y轴数据
3.通过柱状图对象的:reversal axis(),反转x和y轴
4.通过label opts=LabelOpts(position="right")设置数值标签在右侧显示

练习代码:

# 导入bar包
from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
# 构建柱状图对象
bar = Bar()

# 添加x、y轴数据    #后面的label是让数值标签跑到右边去
bar.add_xaxis(["中国","美国","英国"])
bar.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
# 反转y轴
bar.reversal_axis()
# 绘图
bar.render("基础柱状图.html")

 

Timeline()——时间线

        柱状图描述的是分类数据,回答的是每一个分类中有多少? 这个问题,这是柱状图的主要特点,同时柱状图很难动态的描述一个趋势性的数据。这里pyecharts为我们提供了一种解决方案-时间线

1、导包

# 导入bar包
from pyecharts.charts import Bar, Timeline
from pyecharts.globals import ThemeType
from pyecharts.options import LabelOpts

2、构建时间线对象、添加元素

# 构建时间线对象
timeline = Timeline(
    {"theme":ThemeType.DARK}
)
# 在时间线内添加柱状图对象
timeline.add(bar1,"点1")
timeline.add(bar2,"点2")
timeline.add(bar3,"点3")

 3、设置自动播放,并赋予其状态

# 设置自动播放
timeline.add_schema(
    play_interval=1000,         # 自动播放时间间隔,单位毫秒
    is_timeline_show=True,      # 是否在自动播放是显示时间线
    is_auto_play=True,          # 是否自动播放
    is_loop_play=True           # 是否循环自动播放

4、最终再调用时间线方法来绘图

# 用时间线绘图
timeline.render("时间线柱状图.html")

总实现代码:

# 导入bar包
from pyecharts.charts import Bar, Timeline
from pyecharts.globals import ThemeType
from pyecharts.options import LabelOpts
# 构建柱状图对象
bar1 = Bar()
bar2 = Bar()
bar3 = Bar()
# 柱状图1
# 添加x、y轴数据    #后面的label是让数值标签跑到右边去
bar1.add_xaxis(["中国","美国","英国"])
bar1.add_yaxis("GDP",[30,20,10],label_opts=LabelOpts(position="right"))
bar1.reversal_axis()     # 反转y轴
# 柱状图2
bar2.add_xaxis(["中国","美国","英国"])
bar2.add_yaxis("GDP",[50,30,15],label_opts=LabelOpts(position="right"))
bar2.reversal_axis()     # 反转y轴
# 柱状图3
bar3.add_xaxis(["中国","美国","英国"])
bar3.add_yaxis("GDP",[70,40,30],label_opts=LabelOpts(position="right"))
bar3.reversal_axis()     # 反转y轴


# 构建时间线对象
timeline = Timeline(
    {"theme":ThemeType.DARK}
)
# 在时间线内添加柱状图对象
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("时间线柱状图.html")
print('绘制完成!')

三、补充列表 sort方法

sort 方法作用:对列表进行排序,并指定排序规则
使用方式:
列表.sort(key=选择排序依据的函数,reverse=True|False)
参数key,是要求传入一个函数,表示将列表的每一个元素都传入函数中,返回排序的依据参数reverse,是否反转排序结果,True表示降序,False美示升序

 基于带名函数排序:

my_list1 = [["a",33],["b",55],["c",11]]
# 基于带名函数排序
def paixun(element):
    return element[1]
# 升序
my_list1.sort(key=lambda element: element[1],reverse=False)
print(f"基于带名函数排序:{my_list1}")

基于lambda匿名函数排序:

my_list2 = [["A",33],["B",55],["C",11]]
# 基于lambda匿名函数排序
# 降序
my_list2.sort(key=lambda element: element[1],reverse=True)
print(f"基于lambda匿名函数排序:{my_list2}")

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WuDreamer.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值