Python基础综合案例-数据可视化
1. json数据格式
什么是json:
-
JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据
-
JSON本质上是一个带有特定格式的字符串
-
主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互. 类似于
- 国际通用语言-英语
- 中国56个民族不同地区的通用语言-普通话
json有什么用:
- 各种编程语言存储数据的容器不尽相同,在Python中有字典dict这样的数据类型, 而其它语言可能没有对应的字典
为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:
json格式数据转化
# json数据的格式可以是:
{"name":"admin","age":18}
# 也可以是:
[{"name":"admin","age":18},{"name":"root","age":16},{"name":"张三","age":20}]
Python数据和Json数据的相互转化
# 导入json模块
import json
# 准备符合格式json格式要求的python数据
data = [{"name": "老王", "age": 16}, {"name": "张三", "age": 20}]
# 通过 json.dumps(data) 方法把python数据转化为了 json数据
data = json.dumps(data)
# 通过 json.loads(data) 方法把json数据转化为了 python数据
data = json.loads(data)
1. json:是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)
Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表
所以JSON可以直接和Python的字典或列表进行无缝转换。
------------------------------------------------------------------------------------------------------------------
2. json格式数据转化
通过 json.dumps(data) 方法把python数据转化为了 json数据
data = json.dumps(data)
如果有中文可以带上:ensure_ascii=False参数来确保中文正常转换
通过 json.loads(data) 方法把josn数据转化为了 python列表或字典
data = json.loads(data)
2.pyecharts模块
如果想要做出数据可视化效果图, 可以借助pyecharts模块来完成
概况 :
Echarts 是个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可. 而 Python 是门富有表达力的语言,很适合用于数据处理. 当数据分析遇上数据可视化时pyecharts 诞生了.
安装:
pip install pyecharts
如何查看官方示例
打开官方画廊:
https://gallery.pyecharts.org/#/README
3 基础折线图
pyecharts模块中有很多的配置选项, 常用到2个类别的选项:
- 全局配置选项
- 系列配置选项
全局配置选项
这里全局配置选项可以通过set_global_opts方法来进行配置, 相应的选项和选项的功能如下:
from pyecharts.charts import Line
from pyecharts.options import TitleOpts,LegendOpts,ToolboxOpts,VisualMapOpts
line = Line()
line.add_xaxis(["中国", "美国", "英国"])
line.add_yaxis("GDP", [50, 40, 30])
line.set_global_opts(
title_opts=TitleOpts(title="GDP展示", 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()
3.1 数据处理
利用第三方网站查看数据格式
http://www.ab173.com/
https://www.json.cn/
https://www.sojson.com/
https://www.jyshare.com/
from pyecharts.charts import Line
from pyecharts.options import TitleOpts, LabelOpts
# 处理数据
import json
f_us = open("可视化案例数据/折线图数据/美国.txt", "r", encoding="UTF-8")
f_jp = open("可视化案例数据/折线图数据/日本.txt", "r", encoding="UTF-8")
f_in = open("可视化案例数据/折线图数据/印度.txt", "r", encoding="UTF-8")
us_data = f_us.read()
jp_data = f_jp.read()
in_data = f_in.read()
# 去掉不合JSON规范的开头
us_data = us_data.replace("jsonp_1629344292311_69436(", "")
jp_data = jp_data.replace("jsonp_1629350871167_29498(", "")
in_data = in_data.replace("jsonp_1629350745930_63180(", "")
# 去掉不合JSON规范的结尾
us_data = us_data[:-2]
jp_data = jp_data[:-2]
in_data = in_data[:-2]
# JSON转Python字典
us_dict = json.loads(us_data)
jp_dict = json.loads(jp_data)
in_dict = json.loads(in_data)
# 获取trend key
us_trend_data = us_dict["data"][0]["trend"]
jp_trend_data = jp_dict["data"][0]["trend"]
in_trend_data = in_dict["data"][0]["trend"]
# 获取日期数据 2020年
us_x_data = us_trend_data["updateDate"][:314]
jp_x_data = jp_trend_data["updateDate"][:315]
in_x_data = in_trend_data["updateDate"][:314]
# 获取确认数据
us_y_data = us_trend_data["list"][0]["data"][:314]
jp_y_data = jp_trend_data["list"][0]["data"][:315]
in_y_data = in_trend_data["list"][0]["data"][:314]
# 生成图表
line = Line()
# 添加X轴数据
line.add_xaxis(us_x_data);
# 添加Y轴数据
line.add_yaxis("美国确诊人数", us_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("日本确诊人数", jp_y_data, label_opts=LabelOpts(is_show=False))
line.add_yaxis("印度确诊人数", in_y_data, label_opts=LabelOpts(is_show=False))
# 设置全局选项
line.set_global_opts(
title_opts=TitleOpts(title="2020年美日印新冠确诊人数对比折线图", pos_left="center", pos_bottom="-1%")
)
# 生成图表
line.render("折线图开发2.html")
# 关闭文件对象
f_us.close()
f_jp.close()
f_in.close()
以上效果图HTML源码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>折线图开发</title>
<script type="text/javascript" src="https://assets.pyecharts.org/assets/v5/echarts.min.js"></script>
</head>
<body >
<div id="8aa7b7db2ca54836bdbd25e5250e1fe7" class="chart-container" style="width:900px; height:500px; "></div>
<script>
var chart_8aa7b7db2ca54836bdbd25e5250e1fe7 = echarts.init(
document.getElementById('8aa7b7db2ca54836bdbd25e5250e1fe7'), 'white', {renderer: 'canvas'});
var option_8aa7b7db2ca54836bdbd25e5250e1fe7 = {
"animation": true,
"animationThreshold": 2000,
"animationDuration": 1000,
"animationEasing": "cubicOut",
"animationDelay": 0,
"animationDurationUpdate": 300,
"animationEasingUpdate": "cubicOut",
"animationDelayUpdate": 0,
"aria": {
"enabled": false
},
"color": [
"#5470c6",
"#91cc75",
"#fac858",
"#ee6666",
"#73c0de",
"#3ba272",
"#fc8452",
"#9a60b4",
"#ea7ccc"
],
"series": [
{
"type": "line",
"name": "\u7f8e\u56fd\u786e\u8bca\u4eba\u6570",
"connectNulls": false,
"xAxisIndex": 0,
"symbolSize": 4,
"showSymbol": true,
"smooth": false,
"clip": true,
"step": false,
"data": [
[
"2.22",
34
],
[
"2.23",
34
],
[
"2.24",
34
],
[
"2.25",
53
],
[
"2.26",
57
],
[
"2.27",
60
],
[
"2.28",
60
],
[
"2.29",
64
],
[
"3.1",
69
],
[
"3.2",
89
],
[
"3.3",
106
],
[
"3.4",
125
],
[
"3.5",
161
],
[
"3.6",
233
],
[
"3.7",
345
],
[
"3.8",
445
],
[
"3.9",
572
],
[
"3.10",
717
],
[
"3.11",
1010
],
[
"3.12",
1322
],
[
"3.13",
1264
],
[
"3.14",
1678
],
[
"3.15",
3499
],
[
"3.16",
4629
],
[
"3.17",
5894
],
[
"3.18",
9345
],
[
"3.19",
14250
],
[
"3.20",
19624
],
[
"3.21",
22043
],
[
"3.22",
32717
],
[
"3.23",
46332
],
[
"3.24",
53268
],
[
"3.25",
65285
],
[
"3.26",
83507
],
[
"3.27",
101657
],
[
"3.28",
121117
],
[
"3.29",
139675
],
[
"3.30",
161367
],
[
"3.31",
184183
],
[
"4.1",
206207
],
[
"4.2",
236339
],
[
"4.3",
270473
],
[
"4.4",
312076
],
[
"4.5",
334125
],
[
"4.6",
363349
],
[
"4.7",
394182
],
[
"4.8",
425828
],
[
"4.9",
463433
],
[
"4.10",
498674
],
[
"4.11",
530384
],
[
"4.12",
559245
],
[
"4.13",
586941
],
[
"4.14",
610632
],
[
"4.15",
641397
],
[
"4.16",
674829
],
[
"4.17",
710021
],
[
"4.18",
738697
],
[
"4.19",
762496
],
[
"4.20",
789383
],
[
"4.21",
825306
],
[
"4.22",
844992
],
[
"4.23",
877497
],
[
"4.24",
916348
],
[
"4.25",
955488
],
[
"4.26",
985060
],
[
"4.27",
1004942
],
[
"4.28",
1029878
],
[
"4.29",
1056646
],
[
"4.30",
1092656
],
[
"5.1",
1125305
],
[
"5.2",
1156744
],
[
"5.3",
1185167
],
[
"5.4",
1209702
],
[
"5.5",
1234592
],
[
"5.6",
1256639
],
[
"5.7",
1289028
],
[
"5.8",
1318686
],
[
"5.9",
1342723
],
[
"5.10",
1365308
],
[
"5.11",
1381665
],
[
"5.12",
1406519
],
[
"5.13",
1427587
],
[
"5.14",
1453381
],
[
"5.15",
1480975
],
[
"5.16",
1503684
],
[
"5.17",
1526134
],
[
"5.18",
1532861
],
[
"5.19",
1555133
],
[
"5.20",
1573778
],
[
"5.21",
1597130
],
[
"5.22",
1627409
],
[
"5.23",
1650677
],
[
"5.24",
1672527
],
[
"5.25",
1689727
],
[
"5.26",
1711569
],
[
"5.27",
1730595
],
[
"5.28",
1750377
],
[
"5.29",
1772643
],
[
"5.30",
1797949
],
[
"5.31",
1822117
],
[
"6.1",
1842243
],
[
"6.2",
1862879
],
[
"6.3",
1887708
],
[
"6.4",
1907840
],
[
"6.5",
1928026
],
[
"6.6",
1973883
],
[
"6.7",
1995854
],
[
"6.8",
2012001
],
[
"6.9",
2030323
],
[
"6.10",
2052816
],
[
"6.11",
2072274
],
[
"6.12",
2094368
],
[
"6.13",
2123102
],
[
"6.14",
2150245
],
[
"6.15",
2166685
],
[
"6.16",
2188198
],
[
"6.17",
2215580
],
[
"6.18",
2242914
],
[
"6.19",
2275218
],
[
"6.20",
2303692
],
[
"6.21",
2342597
],
[
"6.22",
2363825
],
[
"6.23",
2396101
],
[
"6.24",
2426500
],
[
"6.25",
2474962
],
[
"6.26",
2511784
],
[
"6.27",
2571448
],
[
"6.28",
2615417
],
[
"6.29",
2649774
],
[
"6.30",
2695685
],
[
"7.1",
2744570
],
[
"7.2",
2797737
],
[
"7.3",
2855961
],
[
"7.4",
2909123
],
[
"7.5",
2948587
],
[
"7.6",
2996027
],
[
"7.7",
3055548
],
[
"7.8",
3116430
],
[
"7.9",
3174924
],
[
"7.10",
3242086
],
[
"7.11",
3311844
],
[
"7.12",
3381274
],
[
"7.13",
3436152
],
[
"7.14",
3490706
],
[
"7.15",
3565476
],
[
"7.16",
3642907
],
[
"7.17",
3719446
],
[
"7.18",
3790373
],
[
"7.19",
3854368
],
[
"7.20",
3901026
],
[
"7.21",
3979579
],
[
"7.22",
4046552
],
[
"7.23",
4118684
],
[
"7.24",
4197515
],
[
"7.25",
4273303
],
[
"7.26",
4333464
],
[
"7.27",
4384069
],
[
"7.28",
4451396
],
[
"7.29",
4515787
],
[
"7.30",
4570103
],
[
"7.31",
4655611
],
[
"8.1",
4729242
],
[
"8.2",
4778177
],
[
"8.3",
4821556
],
[
"8.4",
4873925
],
[
"8.5",
4925454
],
[
"8.6",
4988431
],
[
"8.7",
5041384
],
[
"8.8",
5108144
],
[
"8.9",
5164221
],
[
"8.10",
5212499
],
[
"8.11",
5263777
],
[
"8.12",
5321984
],
[
"8.13",
5365527
],
[
"8.14",
5427637
],
[
"8.15",
5478009
],
[
"8.16",
5539841
],
[
"8.17",
5573475
],
[
"8.18",
5614889
],
[
"8.19",
5663371
],
[
"8.20",
5710773
],
[
"8.21",
5757944
],
[
"8.22",
5809339
],
[
"8.23",
5848860
],
[
"8.24",
5886045
],
[
"8.25",
5923582
],
[
"8.26",
5967010
],
[
"8.27",
6013451
],
[
"8.28",
6059951
],
[
"8.29",
6103820
],
[
"8.30",
6141778
],
[
"8.31",
6177207
],
[
"9.1",
6214690
],
[
"9.2",
6260881
],
[
"9.3",
6302203
],
[
"9.4",
6341126
],
[
"9.5",
6400670
],
[
"9.6",
6434850
],
[
"9.7",
6466100
],
[
"9.8",
6490632
],
[
"9.9",
6521356
],
[
"9.10",
6559509
],
[
"9.11",
6594419
],
[
"9.12",
6645500
],
[
"9.13",
6684292
],
[
"9.14",
6718969
],
[
"9.15",
6753195
],
[
"9.16",
6797153
],
[
"9.17",
6838556
],
[
"9.18",
6880182
],
[
"9.19",
6932328
],
[
"9.20",
6972440
],
[
"9.21",
7011038
],
[
"9.22",
7053783
],
[
"9.23",
7106699
],
[
"9.24",
7148986
],
[
"9.25",
7196972
],
[
"9.26",
7251328
],
[
"9.27",
7294643
],
[
"9.28",
7325115
],
[
"9.29",
7365427
],
[
"9.30",
7413600
],
[
"10.1",
7457857
],
[
"10.2",
7507524
],
[
"10.3",
7564910
],
[
"10.4",
7607545
],
[
"10.5",
7644713
],
[
"10.6",
7687269
],
[
"10.7",
7730931
],
[
"10.8",
7787879
],
[
"10.9",
7842831
],
[
"10.10",
7909037
],
[
"10.11",
7957615
],
[
"10.12",
8000852
],
[
"10.13",
8049854
],
[
"10.14",
8106263
],
[
"10.15",
8165007
],
[
"10.16",
8230184
],
[
"10.17",
8306024
],
[
"10.18",
8351444
],
[
"10.19",
8393773
],
[
"10.20",
8468223
],
[
"10.21",
8528732
],
[
"10.22",
8595023
],
[
"10.23",
8675199
],
[
"10.24",
8769097
],
[
"10.25",
8839609
],
[
"10.26",
8898410
],
[
"10.27",
8976435
],
[
"10.28",
9053778
],
[
"10.29",
9136784
],
[
"10.30",
9226558
],
[
"10.31",
9336073
],
[
"11.1",
9414641
],
[
"11.2",
9487088
],
[
"11.3",
9574004
],
[
"11.4",
9702484
],
[
"11.5",
9806960
],
[
"11.6",
9937271
],
[
"11.7",
10071095
],
[
"11.8",
10191335
],
[
"11.9",
10297867
],
[
"11.10",
10433356
],
[
"11.11",
10579938
],
[
"11.12",
10725002
],
[
"11.13",
10888324
],
[
"11.14",
11078662
],
[
"11.15",
11235666
],
[
"11.16",
11381956
],
[
"11.17",
11545530
],
[
"11.18",
11699233
],
[
"11.19",
11896039
],
[
"11.20",
12094052
],
[
"11.21",
12293770
],
[
"11.22",
12463498
],
[
"11.23",
12598889
],
[
"11.24",
12786174
],
[
"11.25",
12978833
],
[
"11.26",
13150740
],
[
"11.27",
13466984
],
[
"11.28",
13612512
],
[
"11.29",
13750608
],
[
"11.30",
13920038
],
[
"12.1",
13933653
],
[
"12.2",
14131866
],
[
"12.3",
14333241
],
[
"12.4",
14568192
],
[
"12.5",
14784825
],
[
"12.6",
14995863
],
[
"12.7",
15169648
],
[
"12.8",
15383380
],
[
"12.9",
15609610
],
[
"12.10",
15845642
],
[
"12.11",
16073829
],
[
"12.12",
16308192
],
[
"12.13",
16563650
],
[
"12.14",
16752408
],
[
"12.15",
16958845
],
[
"12.16",
17159794
],
[
"12.17",
17414880
],
[
"12.18",
17654984
],
[
"12.19",
17899267
],
[
"12.20",
18086215
],
[
"12.21",
18285335
],
[
"12.22",
18494265
],
[
"12.23",
18691742
],
[
"12.24",
18937716
],
[
"12.25",
19117212
],
[
"12.26",
19217816
],
[
"12.27",
19573847
],
[
"12.28",
19781624
],
[
"12.29",
19803605
],
[
"12.30",
19990823
],
[
"12.31",
20237964
]
],
"hoverAnimation": true,
"label": {
"show": false,
"margin": 8
},
"logBase": 10,
"lineStyle": {
"show": true,
"width": 1,
"opacity": 1,
"curveness": 0,
"type": "solid"
},
"areaStyle": {
"opacity": 0
},
"zlevel": 0,
"z": 0
},
{
"type": "line",
"name": "\u65e5\u672c\u786e\u8bca\u4eba\u6570",
"connectNulls": false,
"xAxisIndex": 0,
"symbolSize": 4,
"showSymbol": true,
"smooth": false,
"clip": true,
"step": false,
"data": [
[
"2.22",
93
],
[
"2.23",
105
],
[
"2.24",
132
],
[
"2.25",
144
],
[
"2.26",
156
],
[
"2.27",
164
],
[
"2.28",
186
],
[
"2.29",
210
],
[
"3.1",
230
],
[
"3.2",
239
],
[
"3.3",
254
],
[
"3.4",
268
],
[
"3.5",
284
],
[
"3.6",
317
],
[
"3.7",
348
],
[
"3.8",
407
],
[
"3.9",
454
],
[
"3.10",
522
],
[
"3.11",
582
],
[
"3.12",
640
],
[
"3.13",
690
],
[
"3.14",
726
],
[
"3.15",
787
],
[
"3.16",
818
],
[
"3.17",
835
],
[
"3.18",
880
],
[
"3.19",
923
],
[
"3.20",
962
],
[
"3.21",
1016
],
[
"3.22",
1054
],
[
"3.23",
1101
],
[
"3.24",
1140
],
[
"3.25",
1212
],
[
"3.26",
1313
],
[
"3.27",
1401
],
[
"3.28",
1525
],
[
"3.29",
1724
],
[
"3.30",
1894
],
[
"3.31",
1999
],
[
"4.1",
2233
],
[
"4.2",
2524
],
[
"4.3",
2793
],
[
"4.4",
3142
],
[
"4.5",
3506
],
[
"4.6",
3865
],
[
"4.7",
4092
],
[
"4.8",
4472
],
[
"4.9",
4979
],
[
"4.10",
5553
],
[
"4.11",
6188
],
[
"4.12",
6926
],
[
"4.13",
7423
],
[
"4.14",
7693
],
[
"4.15",
8191
],
[
"4.16",
8723
],
[
"4.17",
9297
],
[
"4.18",
9849
],
[
"4.19",
10434
],
[
"4.20",
10810
],
[
"4.21",
11157
],
[
"4.22",
11581
],
[
"4.23",
12023
],
[
"4.24",
12480
],
[
"4.25",
12868
],
[
"4.26",
13238
],
[
"4.27",
13441
],
[
"4.28",
13614
],
[
"4.29",
13895
],
[
"4.30",
14119
],
[
"5.1",
14305
],
[
"5.2",
14571
],
[
"5.3",
14877
],
[
"5.4",
15079
],
[
"5.5",
15253
],
[
"5.6",
15374
],
[
"5.7",
15477
],
[
"5.8",
15575
],
[
"5.9",
15663
],
[
"5.10",
15777
],
[
"5.11",
15847
],
[
"5.12",
15968
],
[
"5.13",
16049
],
[
"5.14",
16120
],
[
"5.15",
16203
],
[
"5.16",
16253
],
[
"5.17",
16310
],
[
"5.18",
16337
],
[
"5.19",
16367
],
[
"5.20",
16394
],
[
"5.21",
16433
],
[
"5.22",
16518
],
[
"5.23",
16543
],
[
"5.24",
16569
],
[
"5.25",
16611
],
[
"5.26",
16632
],
[
"5.27",
16662
],
[
"5.28",
16696
],
[
"5.29",
16759
],
[
"5.30",
16833
],
[
"5.31",
16877
],
[
"6.1",
16912
],
[
"6.2",
16949
],
[
"6.3",
17000
],
[
"6.4",
17031
],
[
"6.5",
17078
],
[
"6.6",
17118
],
[
"6.7",
17164
],
[
"6.8",
17202
],
[
"6.9",
17223
],
[
"6.10",
17268
],
[
"6.11",
17306
],
[
"6.12",
17347
],
[
"6.13",
17404
],
[
"6.14",
17454
],
[
"6.15",
17529
],
[
"6.16",
17601
],
[
"6.17",
17645
],
[
"6.18",
17689
],
[
"6.19",
17759
],
[
"6.20",
17816
],
[
"6.21",
17881
],
[
"6.22",
17937
],
[
"6.23",
17982
],
[
"6.24",
18034
],
[
"6.25",
18130
],
[
"6.26",
18212
],
[
"6.27",
18317
],
[
"6.28",
18409
],
[
"6.29",
18522
],
[
"6.30",
18631
],
[
"7.1",
18769
],
[
"7.2",
18895
],
[
"7.3",
19090
],
[
"7.4",
19329
],
[
"7.5",
19602
],
[
"7.6",
19822
],
[
"7.7",
19998
],
[
"7.8",
20209
],
[
"7.9",
20413
],
[
"7.10",
20767
],
[
"7.11",
21179
],
[
"7.12",
21581
],
[
"7.13",
21991
],
[
"7.14",
22252
],
[
"7.15",
22583
],
[
"7.16",
23008
],
[
"7.17",
23645
],
[
"7.18",
24235
],
[
"7.19",
24916
],
[
"7.20",
25425
],
[
"7.21",
25844
],
[
"7.22",
26476
],
[
"7.23",
27270
],
[
"7.24",
28200
],
[
"7.25",
28984
],
[
"7.26",
29782
],
[
"7.27",
30656
],
[
"7.28",
31249
],
[
"7.29",
32244
],
[
"7.30",
33474
],
[
"7.31",
34809
],
[
"8.1",
36366
],
[
"8.2",
37925
],
[
"8.3",
39255
],
[
"8.4",
40212
],
[
"8.5",
41455
],
[
"8.6",
42804
],
[
"8.7",
44286
],
[
"8.8",
45889
],
[
"8.9",
47464
],
[
"8.10",
48817
],
[
"8.11",
49746
],
[
"8.12",
50444
],
[
"8.13",
51425
],
[
"8.14",
52602
],
[
"8.15",
53961
],
[
"8.16",
55193
],
[
"8.17",
56214
],
[
"8.18",
56854
],
[
"8.19",
57761
],
[
"8.20",
58848
],
[
"8.21",
60033
],
[
"8.22",
61066
],
[
"8.23",
62046
],
[
"8.24",
62790
],
[
"8.25",
63283
],
[
"8.26",
64000
],
[
"8.27",
64897
],
[
"8.28",
65763
],
[
"8.29",
66638
],
[
"8.30",
67488
],
[
"8.31",
68088
],
[
"9.1",
68516
],
[
"9.2",
69151
],
[
"9.3",
69743
],
[
"9.4",
70405
],
[
"9.5",
70994
],
[
"9.6",
71585
],
[
"9.7",
72037
],
[
"9.8",
72321
],
[
"9.9",
72833
],
[
"9.10",
73337
],
[
"9.11",
74026
],
[
"9.12",
74688
],
[
"9.13",
75334
],
[
"9.14",
75774
],
[
"9.15",
76039
],
[
"9.16",
76571
],
[
"9.17",
77121
],
[
"9.18",
77650
],
[
"9.19",
78182
],
[
"9.20",
78782
],
[
"9.21",
79260
],
[
"9.22",
79571
],
[
"9.23",
79902
],
[
"9.24",
80116
],
[
"9.25",
80592
],
[
"9.26",
81169
],
[
"9.27",
81806
],
[
"9.28",
82285
],
[
"9.29",
82583
],
[
"9.30",
83115
],
[
"10.1",
83689
],
[
"10.2",
84335
],
[
"10.3",
84874
],
[
"10.4",
85451
],
[
"10.5",
85851
],
[
"10.6",
86135
],
[
"10.7",
86635
],
[
"10.8",
87145
],
[
"10.9",
87762
],
[
"10.10",
88374
],
[
"10.11",
89054
],
[
"10.12",
89491
],
[
"10.13",
89769
],
[
"10.14",
90269
],
[
"10.15",
90818
],
[
"10.16",
91526
],
[
"10.17",
92167
],
[
"10.18",
92787
],
[
"10.19",
93219
],
[
"10.20",
93533
],
[
"10.21",
94015
],
[
"10.22",
94634
],
[
"10.23",
95248
],
[
"10.24",
95995
],
[
"10.25",
96720
],
[
"10.26",
97218
],
[
"10.27",
97617
],
[
"10.28",
98262
],
[
"10.29",
98995
],
[
"10.30",
99804
],
[
"10.31",
100577
],
[
"11.1",
101453
],
[
"11.2",
102068
],
[
"11.3",
102548
],
[
"11.4",
103413
],
[
"11.5",
104036
],
[
"11.6",
105082
],
[
"11.7",
106221
],
[
"11.8",
107557
],
[
"11.9",
108503
],
[
"11.10",
109280
],
[
"11.11",
110616
],
[
"11.12",
112164
],
[
"11.13",
113808
],
[
"11.14",
115518
],
[
"11.15",
117261
],
[
"11.16",
118702
],
[
"11.17",
119652
],
[
"11.18",
121336
],
[
"11.19",
123544
],
[
"11.20",
125932
],
[
"11.21",
128348
],
[
"11.22",
130941
],
[
"11.23",
133117
],
[
"11.24",
134635
],
[
"11.25",
135846
],
[
"11.26",
137786
],
[
"11.27",
140288
],
[
"11.28",
142818
],
[
"11.29",
145502
],
[
"11.30",
147568
],
[
"12.1",
149002
],
[
"12.2",
151018
],
[
"12.3",
153456
],
[
"12.4",
155964
],
[
"12.5",
158411
],
[
"12.6",
160917
],
[
"12.7",
162942
],
[
"12.8",
164462
],
[
"12.9",
166618
],
[
"12.10",
169431
],
[
"12.11",
172416
],
[
"12.12",
175207
],
[
"12.13",
178242
],
[
"12.14",
180630
],
[
"12.15",
182305
],
[
"12.16",
184732
],
[
"12.17",
187718
],
[
"12.18",
190935
],
[
"12.19",
193757
],
[
"12.20",
196746
],
[
"12.21",
199248
],
[
"12.22",
201048
],
[
"12.23",
203717
],
[
"12.24",
206984
],
[
"12.25",
210723
],
[
"12.26",
214553
],
[
"12.27",
218430
],
[
"12.28",
223766
],
[
"12.29",
223771
],
[
"12.30",
227375
],
[
"12.31",
231223
]
],
"hoverAnimation": true,
"label": {
"show": false,
"margin": 8
},
"logBase": 10,
"lineStyle": {
"show": true,
"width": 1,
"opacity": 1,
"curveness": 0,
"type": "solid"
},
"areaStyle": {
"opacity": 0
},
"zlevel": 0,
"z": 0
},
{
"type": "line",
"name": "\u5370\u5ea6\u786e\u8bca\u4eba\u6570",
"connectNulls": false,
"xAxisIndex": 0,
"symbolSize": 4,
"showSymbol": true,
"smooth": false,
"clip": true,
"step": false,
"data": [
[
"2.22",
5480
],
[
"2.23",
5916
],
[
"2.24",
6725
],
[
"2.25",
7600
],
[
"2.26",
8446
],
[
"2.27",
9205
],
[
"2.28",
10453
],
[
"2.29",
11487
],
[
"3.1",
12322
],
[
"3.2",
13430
],
[
"3.3",
14352
],
[
"3.4",
15722
],
[
"3.5",
17615
],
[
"3.6",
18539
],
[
"3.7",
20080
],
[
"3.8",
21370
],
[
"3.9",
23039
],
[
"3.10",
24447
],
[
"3.11",
26283
],
[
"3.12",
27890
],
[
"3.13",
29451
],
[
"3.14",
31332
],
[
"3.15",
33062
],
[
"3.16",
34862
],
[
"3.17",
37257
],
[
"3.18",
39699
],
[
"3.19",
42505
],
[
"3.20",
46437
],
[
"3.21",
49400
],
[
"3.22",
52987
],
[
"3.23",
56351
],
[
"3.24",
59693
],
[
"3.25",
62808
],
[
"3.26",
67161
],
[
"3.27",
70768
],
[
"3.28",
74243
],
[
"3.29",
78055
],
[
"3.30",
81997
],
[
"3.31",
85784
],
[
"4.1",
90648
],
[
"4.2",
95698
],
[
"4.3",
100161
],
[
"4.4",
103292
],
[
"4.5",
107819
],
[
"4.6",
114478
],
[
"4.7",
124073
],
[
"4.8",
130506
],
[
"4.9",
137608
],
[
"4.10",
141228
],
[
"4.11",
150313
],
[
"4.12",
154820
],
[
"4.13",
163120
],
[
"4.14",
172359
],
[
"4.15",
180621
],
[
"4.16",
189765
],
[
"4.17",
194837
],
[
"4.18",
202860
],
[
"4.19",
214664
],
[
"4.20",
224215
],
[
"4.21",
233576
],
[
"4.22",
243733
],
[
"4.23",
254340
],
[
"4.24",
264143
],
[
"4.25",
273443
],
[
"4.26",
284754
],
[
"4.27",
297001
],
[
"4.28",
305951
],
[
"4.29",
317368
],
[
"4.30",
324482
],
[
"5.1",
336185
],
[
"5.2",
347821
],
[
"5.3",
359506
],
[
"5.4",
371734
],
[
"5.5",
385276
],
[
"5.6",
400724
],
[
"5.7",
421765
],
[
"5.8",
430708
],
[
"5.9",
449613
],
[
"5.10",
465553
],
[
"5.11",
481179
],
[
"5.12",
501864
],
[
"5.13",
527738
],
[
"5.14",
548154
],
[
"5.15",
562457
],
[
"5.16",
574926
],
[
"5.17",
593703
],
[
"5.18",
612486
],
[
"5.19",
633381
],
[
"5.20",
664488
],
[
"5.21",
687760
],
[
"5.22",
712920
],
[
"5.23",
739646
],
[
"5.24",
760761
],
[
"5.25",
790649
],
[
"5.26",
818647
],
[
"5.27",
847575
],
[
"5.28",
871499
],
[
"5.29",
898680
],
[
"5.30",
933450
],
[
"5.31",
959993
],
[
"6.1",
1001863
],
[
"6.2",
1036497
],
[
"6.3",
1055932
],
[
"6.4",
1106135
],
[
"6.5",
1127281
],
[
"6.6",
1171446
],
[
"6.7",
1220433
],
[
"6.8",
1263336
],
[
"6.9",
1323471
],
[
"6.10",
1383172
],
[
"6.11",
1424202
],
[
"6.12",
1466059
],
[
"6.13",
1529653
],
[
"6.14",
1579240
],
[
"6.15",
1601070
],
[
"6.16",
1690546
],
[
"6.17",
1749771
],
[
"6.18",
1780268
],
[
"6.19",
1830949
],
[
"6.20",
1901334
],
[
"6.21",
1958592
],
[
"6.22",
2021407
],
[
"6.23",
2057816
],
[
"6.24",
2129154
],
[
"6.25",
2199101
],
[
"6.26",
2244435
],
[
"6.27",
2322755
],
[
"6.28",
2372318
],
[
"6.29",
2431558
],
[
"6.30",
2506247
],
[
"7.1",
2530943
],
[
"7.2",
2634256
],
[
"7.3",
2684314
],
[
"7.4",
2732218
],
[
"7.5",
2814157
],
[
"7.6",
2873173
],
[
"7.7",
2925337
],
[
"7.8",
3038013
],
[
"7.9",
3079925
],
[
"7.10",
3149759
],
[
"7.11",
3211848
],
[
"7.12",
3286512
],
[
"7.13",
3377908
],
[
"7.14",
3454513
],
[
"7.15",
3477250
],
[
"7.16",
3583807
],
[
"7.17",
3649639
],
[
"7.18",
3715931
],
[
"7.19",
3810625
],
[
"7.20",
3904508
],
[
"7.21",
3993412
],
[
"7.22",
4092550
],
[
"7.23",
4160493
],
[
"7.24",
4236961
],
[
"7.25",
4313129
],
[
"7.26",
4417550
],
[
"7.27",
4494389
],
[
"7.28",
4606149
],
[
"7.29",
4688470
],
[
"7.30",
4788593
],
[
"7.31",
4878042
],
[
"8.1",
4963097
],
[
"8.2",
5060818
],
[
"8.3",
5141905
],
[
"8.4",
5228478
],
[
"8.5",
5323907
],
[
"8.6",
5417274
],
[
"8.7",
5517601
],
[
"8.8",
5580286
],
[
"8.9",
5669610
],
[
"8.10",
5765744
],
[
"8.11",
5843349
],
[
"8.12",
5915753
],
[
"8.13",
6041638
],
[
"8.14",
6087454
],
[
"8.15",
6156722
],
[
"8.16",
6245404
],
[
"8.17",
6323247
],
[
"8.18",
6438968
],
[
"8.19",
6509916
],
[
"8.20",
6573678
],
[
"8.21",
6650456
],
[
"8.22",
6724380
],
[
"8.23",
6764710
],
[
"8.24",
6841813
],
[
"8.25",
6946598
],
[
"8.26",
6997852
],
[
"8.27",
7063955
],
[
"8.28",
7160805
],
[
"8.29",
7205923
],
[
"8.30",
7275588
],
[
"8.31",
7349290
],
[
"9.1",
7416538
],
[
"9.2",
7475572
],
[
"9.3",
7536769
],
[
"9.4",
7574167
],
[
"9.5",
7644979
],
[
"9.6",
7701365
],
[
"9.7",
7727289
],
[
"9.8",
7781746
],
[
"9.9",
7829226
],
[
"9.10",
7873664
],
[
"9.11",
7918102
],
[
"9.12",
7974963
],
[
"9.13",
8006340
],
[
"9.14",
8070589
],
[
"9.15",
8094636
],
[
"9.16",
8178645
],
[
"9.17",
8208774
],
[
"9.18",
8250951
],
[
"9.19",
8305267
],
[
"9.20",
8352518
],
[
"9.21",
8380734
],
[
"9.22",
8439389
],
[
"9.23",
8478689
],
[
"9.24",
8531420
],
[
"9.25",
8576689
],
[
"9.26",
8601937
],
[
"9.27",
8659513
],
[
"9.28",
8690621
],
[
"9.29",
8751254
],
[
"9.30",
8790760
],
[
"10.1",
8837037
],
[
"10.2",
8867857
],
[
"10.3",
8886987
],
[
"10.4",
8925467
],
[
"10.5",
8974910
],
[
"10.6",
9021020
],
[
"10.7",
9065301
],
[
"10.8",
9129003
],
[
"10.9",
9170825
],
[
"10.10",
9193982
],
[
"10.11",
9245108
],
[
"10.12",
9291068
],
[
"10.13",
9308751
],
[
"10.14",
9393039
],
[
"10.15",
9432075
],
[
"10.16",
9463254
],
[
"10.17",
9484506
],
[
"10.18",
9523678
],
[
"10.19",
9556881
],
[
"10.20",
9593688
],
[
"10.21",
9625289
],
[
"10.22",
9667084
],
[
"10.23",
9689302
],
[
"10.24",
9714308
],
[
"10.25",
9756610
],
[
"10.26",
9780486
],
[
"10.27",
9814064
],
[
"10.28",
9844322
],
[
"10.29",
9881357
],
[
"10.30",
9902262
],
[
"10.31",
9925062
],
[
"11.1",
9933997
],
[
"11.2",
9966966
],
[
"11.3",
9987949
],
[
"11.4",
10015973
],
[
"11.5",
10047131
],
[
"11.6",
10067196
],
[
"11.7",
10094801
],
[
"11.8",
10111256
],
[
"11.9",
10141215
],
[
"11.10",
10157903
],
[
"11.11",
10178592
],
[
"11.12",
10208725
],
[
"11.13",
10224797
],
[
"11.14",
10237117
],
[
"11.15",
10260618
],
[
"11.16",
10282624
],
[
"11.17",
10293028
],
[
"11.18",
10310778
],
[
"11.19",
10337069
],
[
"11.20",
10345118
],
[
"11.21",
10369514
],
[
"11.22",
10388018
],
[
"11.23",
10405097
],
[
"11.24",
10426407
],
[
"11.25",
10448134
],
[
"11.26",
10460179
],
[
"11.27",
10473696
],
[
"11.28",
10485420
],
[
"11.29",
10497470
],
[
"11.30",
10525452
],
[
"12.1",
10540365
],
[
"12.2",
10556184
],
[
"12.3",
10566720
],
[
"12.4",
10572672
],
[
"12.5",
10582647
],
[
"12.6",
10606215
],
[
"12.7",
10619603
],
[
"12.8",
10634414
],
[
"12.9",
10645580
],
[
"12.10",
10661138
],
[
"12.11",
10672035
],
[
"12.12",
10689202
],
[
"12.13",
10690279
],
[
"12.14",
10702730
],
[
"12.15",
10720971
],
[
"12.16",
10740309
],
[
"12.17",
10750224
],
[
"12.18",
10764177
],
[
"12.19",
10768991
],
[
"12.20",
10788136
],
[
"12.21",
10799024
],
[
"12.22",
10805790
],
[
"12.23",
10816147
],
[
"12.24",
10831279
],
[
"12.25",
10846028
],
[
"12.26",
10848045
],
[
"12.27",
10859057
],
[
"12.28",
10878758
],
[
"12.29",
10880794
],
[
"12.30",
10894638
],
[
"12.31",
10910589
]
],
"hoverAnimation": true,
"label": {
"show": false,
"margin": 8
},
"logBase": 10,
"lineStyle": {
"show": true,
"width": 1,
"opacity": 1,
"curveness": 0,
"type": "solid"
},
"areaStyle": {
"opacity": 0
},
"zlevel": 0,
"z": 0
}
],
"legend": [
{
"data": [
"\u7f8e\u56fd\u786e\u8bca\u4eba\u6570",
"\u65e5\u672c\u786e\u8bca\u4eba\u6570",
"\u5370\u5ea6\u786e\u8bca\u4eba\u6570"
],
"selected": {
"\u7f8e\u56fd\u786e\u8bca\u4eba\u6570": true,
"\u65e5\u672c\u786e\u8bca\u4eba\u6570": true,
"\u5370\u5ea6\u786e\u8bca\u4eba\u6570": true
},
"show": true,
"padding": 5,
"itemGap": 10,
"itemWidth": 25,
"itemHeight": 14,
"backgroundColor": "transparent",
"borderColor": "#ccc",
"borderWidth": 1,
"borderRadius": 0,
"pageButtonItemGap": 5,
"pageButtonPosition": "end",
"pageFormatter": "{current}/{total}",
"pageIconColor": "#2f4554",
"pageIconInactiveColor": "#aaa",
"pageIconSize": 15,
"animationDurationUpdate": 800,
"selector": false,
"selectorPosition": "auto",
"selectorItemGap": 7,
"selectorButtonGap": 10
}
],
"tooltip": {
"show": true,
"trigger": "item",
"triggerOn": "mousemove|click",
"axisPointer": {
"type": "line"
},
"showContent": true,
"alwaysShowContent": false,
"showDelay": 0,
"hideDelay": 100,
"enterable": false,
"confine": false,
"appendToBody": false,
"transitionDuration": 0.4,
"textStyle": {
"fontSize": 14
},
"borderWidth": 0,
"padding": 5,
"order": "seriesAsc"
},
"xAxis": [
{
"show": true,
"scale": false,
"nameLocation": "end",
"nameGap": 15,
"gridIndex": 0,
"inverse": false,
"offset": 0,
"splitNumber": 5,
"minInterval": 0,
"splitLine": {
"show": true,
"lineStyle": {
"show": true,
"width": 1,
"opacity": 1,
"curveness": 0,
"type": "solid"
}
},
"data": [
"2.22",
"2.23",
"2.24",
"2.25",
"2.26",
"2.27",
"2.28",
"2.29",
"3.1",
"3.2",
"3.3",
"3.4",
"3.5",
"3.6",
"3.7",
"3.8",
"3.9",
"3.10",
"3.11",
"3.12",
"3.13",
"3.14",
"3.15",
"3.16",
"3.17",
"3.18",
"3.19",
"3.20",
"3.21",
"3.22",
"3.23",
"3.24",
"3.25",
"3.26",
"3.27",
"3.28",
"3.29",
"3.30",
"3.31",
"4.1",
"4.2",
"4.3",
"4.4",
"4.5",
"4.6",
"4.7",
"4.8",
"4.9",
"4.10",
"4.11",
"4.12",
"4.13",
"4.14",
"4.15",
"4.16",
"4.17",
"4.18",
"4.19",
"4.20",
"4.21",
"4.22",
"4.23",
"4.24",
"4.25",
"4.26",
"4.27",
"4.28",
"4.29",
"4.30",
"5.1",
"5.2",
"5.3",
"5.4",
"5.5",
"5.6",
"5.7",
"5.8",
"5.9",
"5.10",
"5.11",
"5.12",
"5.13",
"5.14",
"5.15",
"5.16",
"5.17",
"5.18",
"5.19",
"5.20",
"5.21",
"5.22",
"5.23",
"5.24",
"5.25",
"5.26",
"5.27",
"5.28",
"5.29",
"5.30",
"5.31",
"6.1",
"6.2",
"6.3",
"6.4",
"6.5",
"6.6",
"6.7",
"6.8",
"6.9",
"6.10",
"6.11",
"6.12",
"6.13",
"6.14",
"6.15",
"6.16",
"6.17",
"6.18",
"6.19",
"6.20",
"6.21",
"6.22",
"6.23",
"6.24",
"6.25",
"6.26",
"6.27",
"6.28",
"6.29",
"6.30",
"7.1",
"7.2",
"7.3",
"7.4",
"7.5",
"7.6",
"7.7",
"7.8",
"7.9",
"7.10",
"7.11",
"7.12",
"7.13",
"7.14",
"7.15",
"7.16",
"7.17",
"7.18",
"7.19",
"7.20",
"7.21",
"7.22",
"7.23",
"7.24",
"7.25",
"7.26",
"7.27",
"7.28",
"7.29",
"7.30",
"7.31",
"8.1",
"8.2",
"8.3",
"8.4",
"8.5",
"8.6",
"8.7",
"8.8",
"8.9",
"8.10",
"8.11",
"8.12",
"8.13",
"8.14",
"8.15",
"8.16",
"8.17",
"8.18",
"8.19",
"8.20",
"8.21",
"8.22",
"8.23",
"8.24",
"8.25",
"8.26",
"8.27",
"8.28",
"8.29",
"8.30",
"8.31",
"9.1",
"9.2",
"9.3",
"9.4",
"9.5",
"9.6",
"9.7",
"9.8",
"9.9",
"9.10",
"9.11",
"9.12",
"9.13",
"9.14",
"9.15",
"9.16",
"9.17",
"9.18",
"9.19",
"9.20",
"9.21",
"9.22",
"9.23",
"9.24",
"9.25",
"9.26",
"9.27",
"9.28",
"9.29",
"9.30",
"10.1",
"10.2",
"10.3",
"10.4",
"10.5",
"10.6",
"10.7",
"10.8",
"10.9",
"10.10",
"10.11",
"10.12",
"10.13",
"10.14",
"10.15",
"10.16",
"10.17",
"10.18",
"10.19",
"10.20",
"10.21",
"10.22",
"10.23",
"10.24",
"10.25",
"10.26",
"10.27",
"10.28",
"10.29",
"10.30",
"10.31",
"11.1",
"11.2",
"11.3",
"11.4",
"11.5",
"11.6",
"11.7",
"11.8",
"11.9",
"11.10",
"11.11",
"11.12",
"11.13",
"11.14",
"11.15",
"11.16",
"11.17",
"11.18",
"11.19",
"11.20",
"11.21",
"11.22",
"11.23",
"11.24",
"11.25",
"11.26",
"11.27",
"11.28",
"11.29",
"11.30",
"12.1",
"12.2",
"12.3",
"12.4",
"12.5",
"12.6",
"12.7",
"12.8",
"12.9",
"12.10",
"12.11",
"12.12",
"12.13",
"12.14",
"12.15",
"12.16",
"12.17",
"12.18",
"12.19",
"12.20",
"12.21",
"12.22",
"12.23",
"12.24",
"12.25",
"12.26",
"12.27",
"12.28",
"12.29",
"12.30",
"12.31"
]
}
],
"yAxis": [
{
"show": true,
"scale": false,
"nameLocation": "end",
"nameGap": 15,
"gridIndex": 0,
"inverse": false,
"offset": 0,
"splitNumber": 5,
"minInterval": 0,
"splitLine": {
"show": true,
"lineStyle": {
"show": true,
"width": 1,
"opacity": 1,
"curveness": 0,
"type": "solid"
}
}
}
],
"title": [
{
"show": true,
"text": "2020\u5e74\u7f8e\u65e5\u5370\u65b0\u51a0\u786e\u8bca\u4eba\u6570\u5bf9\u6bd4\u6298\u7ebf\u56fe",
"target": "blank",
"subtarget": "blank",
"left": "center",
"bottom": "-1%",
"padding": 5,
"itemGap": 10,
"textAlign": "auto",
"textVerticalAlign": "auto",
"triggerEvent": false
}
]
};
chart_8aa7b7db2ca54836bdbd25e5250e1fe7.setOption(option_8aa7b7db2ca54836bdbd25e5250e1fe7);
</script>
</body>
</html>
3. 地图可视化
from pyecharts.charts import Map
from pyecharts.options import VisualMapOpts
map = Map()
data = [
("北京市", 22),
("上海市", 235),
("云南省", 874),
("重庆市", 4356),
("湖南省", 1006)
]
map.add("test地图", data, "china")
map.set_global_opts(
visualmap_opts=VisualMapOpts(
is_show=True,
is_piecewise=True,
pieces=[
{"min":1,"max":9,"label":"1-9人","color":"#CCFFFF"},
{"min":10,"max":99,"label":"10-99人","color":"#FFFF99"},
{"min":100,"max":499,"label":"100-499人","color":"#FF9966"},
{"min":500,"max":999,"label":"500-999人","color":"#FF6666"},
{"min":1000,"max":9999,"label":"1000-9999人","color":"#CC3333"},
{"min":10000,"label":"10000人","color":"#990033"}
]
)
)
map.render("1_地图开发.html")
import json
from pyecharts.charts import Map
from pyecharts.options import *
# 读取数据
f = open("可视化案例数据/地图数据/疫情.txt", 'r', encoding = 'UTF-8')
data = f.read()
# 获取湖南省数据
loads = json.loads(data)['areaTree'][0]
data_hunan = loads['children'][3]['children']
data_list = []
for city_data in data_hunan:
city_name = city_data["name"] + '市'
city_confirm = city_data['total']['confirm']
data_list.append((city_name, city_confirm))
# 手动添加济源市数据
data_list.append(('济源市', 5))
# 创建地图
map = Map()
map.add("河南省各市", data_list, "河南")
map.set_global_opts(
title_opts = TitleOpts(title = '河南省疫情可视化地图'),
visualmap_opts = VisualMapOpts(
is_show = True,
is_piecewise =True,
pieces = [
{"min": 1, "max": 99, "lable": "1~99人", "color": "#CCFFFF"},
{"min": 100, "max": 999, "lable": "100~9999人", "color": "#FFFF99"},
{"min": 1000, "max": 4999, "lable": "1000~4999人", "color": "#FF9966"},
{"min": 5000, "max": 9999, "lable": "5000~99999人", "color": "#FF6666"},
{"min": 10000, "max": 99999, "lable": "10000~99999人", "color": "#CC3333"},
{"min": 100000, "lable": "100000+", "color": "#990033"},
]
)
)
map.render("河南省疫情可视化地图.html")
5.柱状图绘制
5.1 基础柱状图
from pyecharts.charts import Bar
from pyecharts.options import LabelOpts
bar = Bar()
bar.add_xaxis(['中国', '美国', '英国'])
bar.add_yaxis('GDP', [50, 40, 30],label_opts = LabelOpts(position = 'right'))
# 反转X轴和Y轴
bar.reversal_axis()
bar.render("基础柱状图绘制.html")
5.2 基础时间线柱状图
from pyecharts.charts import Bar,Timeline
from pyecharts.options import LabelOpts
bar1 = Bar()
bar1.add_xaxis(["中国", "美国", "英国"])
bar1.add_yaxis("GDP", [30, 50, 40], label_opts = LabelOpts(position = "right"))
bar1.reversal_axis()
bar2 = Bar()
bar2.add_xaxis(["中国", "美国", "英国"])
bar2.add_yaxis("GDP", [50, 50, 50], label_opts = LabelOpts(position = "right"))
bar2.reversal_axis()
bar3 = Bar()
bar3.add_xaxis(["中国", "美国", "英国"])
bar3.add_yaxis("GDP", [70, 60, 40], label_opts = LabelOpts(position = "right"))
bar3.reversal_axis()
timeline = Timeline()
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")
timeline = Timeline({"theme":ThemeType.LIGHT}) # 设置主题颜色
5.3 GDP动态柱状图绘制
my_list = [['a', 33], ['b', 66], ['c', 11]]
def choose_sort_key(element):
return element[1]
# my_list.sort(key = choose_sort_key,reverse = True)
print(my_list)
# lambda
my_list.sort(key = lambda element: element[1], reverse = True)
print(my_list)
# -*- coding: utf-8 -*-
# @Time : 2024/3/16 23:23
# @Author : QinMuyi
# @File : 动态GDP柱状图绘制.py
from pyecharts.charts import Bar,Timeline
from pyecharts.options import *
from pyecharts.globals import ThemeType
f = open("可视化案例数据/动态柱状图数据/1960-2019全球GDP数据.csv", "r", encoding = "GB2312")
lines = f.readlines()
f.close()
lines.pop(0)
data_dict = {}
for line in lines:
year = int(line.split(',')[0])
country = line.split(',')[1]
gdp = float(line.split(',')[2])
try:
data_dict[year].append([country, gdp])
except KeyError:
data_dict[year] = []
data_dict[year].append([country, gdp])
# print(data_dict)
timeline = Timeline({"theme": ThemeType.LIGHT})
# 排序年份
sorted_year_list = sorted(data_dict.keys())
# print(sorted_year_list)
for year in sorted_year_list:
data_dict[year].sort(key = lambda element: element[1], reverse = True)
# 取出前8名的国家
year_data = data_dict[year][0:8]
x_data = []
y_data = []
for country_gdp in year_data:
x_data.append(country_gdp[0])
y_data.append(country_gdp[1] / 100000000)
# 构建柱状图
bar = Bar()
x_data.reverse()
y_data.reverse()
bar.add_xaxis(x_data)
bar.add_yaxis("GDP(亿)", y_data,label_opts = LabelOpts(position = "right"))
bar.reversal_axis()
bar.set_global_opts(title_opts = TitleOpts(title = f"{year}年全球前八GDP数据"))
timeline.add(bar,str(year))
timeline.add_schema(
play_interval = 1000,
is_auto_play = True,
is_loop_play = True
)
# 绘图
timeline.render("1960-2019全球GDP前8国家.html")