范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

python数据可视化使用pyecharts绘制简单的数据动态展示图

  最终效果前言
  大家好,我是PYTHON爱好者二狗.今天向各位领导汇报的题目是:使用pyecharts绘制简单的数据动态展示图.  编程环境
  1.文中电脑操作系统:win10
  2.文中所使用的python模块:
  (1).pandas (第三方模块,需要pip安装)
  安装命令:pip install -i   https: /  / pypi.tuna.tsinghua.edu.cn/simple    pandas
  官方文档 :https: //pandas.pydata.org/pandas-docs/stable/
  (2).pyecharts (第三方模块,需要pip安装)
  安装命令:pip install -i   https: /  / pypi.tuna.tsinghua.edu.cn/simple    pyecharts
  官方文档 :https ://pyecharts.org/#/zh-cn/intro
  3.文中数据源文件:二手车数据.csv (如果需要,请后台私信)
  4.pyecharts版本: 1.9.1
  5.文中所使用的IDE: VSCODE(安装Jupyter插件)
  查看pyecharts版本数据动态展示图及数据结构剖析
  数据动态展示图剖析
  数据源表格文件
  文中绘制的动态图表分为:①时间线轮播图,②柱状图,③饼图,④词云图,⑤树图
  接下来,二狗向各位领导汇报绘制过程及注意事项.  代码拆检import pandas as pd  # 导入pandas模块 df = pd.read_csv("二手车数据.csv",index_col=0) # 读取数据表格 df["car_year"] = df.car_year.agg(lambda x : x.split("-")[0])  # 切割表格中的car_year列的所有值 取出年份 df = df[(df.car_city=="昆明")            | (df.car_city=="贵阳")            |(df.car_city=="南宁")            | (df.car_city=="成都")            | (df.car_city=="重庆")           |(df.car_city=="拉萨")]  # 筛选出表格中car_city列中的昆明,贵阳,南宁,成都,重庆,拉萨的数据 tb = df.pivot_table(values=["car_price(万元)",],index=["car_year","car_city"])  # 把筛选出的城市数据聚合分类计算出每年每个城市的二手车均值
  每年每个城市的二手车均值
  注:pivot_table()方法,不指定  aggfunc参数时, 默认  aggfunc="mean"计算均值. year_list = [i[0] for i in tb.index] # 生成一个装有年份的列表 city_list = [i[1] for i in tb.index]  # 生成一个装有城市名称的列表 price_list = [round(i,ndigits=2) for i in tb["car_price(万元)"]] # 生成一个装有每个城市均值的列表,对列表里的每个元素四舍五入,保留2位小数 time_data = {} #创建一个空字典 for k,v1,v2 in zip(year_list,city_list,price_list): #遍历 year_list city_list price_list 组装一个数据格式为{年份:{城市:价格...}}的字典     if k not in time_data:         time_data[k] = {v1:v2}     else:         time_data[k].update({v1:v2})
  组装好的字典结构import pyecharts.options as opt from pyecharts.commons.utils import JsCode from pyecharts.charts import Pie, Bar,Timeline,Grid,TreeMap,WordCloud from pyecharts.globals import ThemeType #导入绘图模块 tl = Timeline(     init_opts=opt.InitOpts(         theme=ThemeType.DARK,         animation_opts=opt.AnimationOpts(             animation_duration=3000,             animation_delay_update = 10,     ) ))# 绘制时间线轮播图 for year,city_price_dict in time_data.items(): #分别遍历字典的键和值     values_list = list(sorted(city_price_dict.items(), key=lambda value : value[1], reverse=True))     # 把字典的值 转换为降序排列(从大到小)的列表 [(城市1,价格1),(城市2,价格2)...]     values_data = (sorted(city_price_dict.items(), key=lambda value : value[1], reverse=False))     # 把字典的值 转换为升序排列(从小到大)的列表 [(城市1,价格1),(城市2,价格2)...]
  values_data结果
  values_list结果import pyecharts.options as opt from pyecharts.commons.utils import JsCode from pyecharts.charts import Pie, Bar,Timeline,Grid,TreeMap,WordCloud from pyecharts.globals import ThemeType #导入绘图模块 tl = Timeline(     init_opts=opt.InitOpts(         theme=ThemeType.DARK,         animation_opts=opt.AnimationOpts(             animation_duration=3000,             animation_delay_update = 10,     ) ))# 绘制时间线轮播图 for year,city_price_dict in time_data.items(): #分别遍历字典的键和值     values_list = list(sorted(city_price_dict.items(), key=lambda value : value[1], reverse=True))     # 把字典的值 转换为降序排列(从大到小)的列表 [(城市1,价格1),(城市2,价格2)...]     values_data = (sorted(city_price_dict.items(), key=lambda value : value[1], reverse=False))     # 把字典的值 转换为升序排列(从小到大)的列表 [(城市1,价格1),(城市2,价格2)...]     pie = (#绘制饼图         Pie()         .add(             series_name=" 单位:万元",             data_pair = values_data,             radius= ["50%","60%"],             center = ["70%","50%"],             rosetype= "radius"         )         .set_global_opts(             title_opts=opt.TitleOpts(                 title= f"{year}年西南地区二手车均价"             )         )     )     charts = WordCloud()     charts.add( #绘制词云图         series_name = "均价(万元)",         data_pair= values_data,         textstyle_opts=opt.TextStyleOpts(font_family="serif"),         shape = "diamond",         word_size_range= [10, 50],         pos_left = "35%",         pos_top = "12%",     )     charts.set_global_opts(         title_opts = opt.TitleOpts(         ),      )     bar = (#绘制柱状图         Bar()         .add_xaxis([i[0] for i in values_data])         .add_yaxis(             "单位万元",              [i[1] for i in values_data],             bar_width=30,             category_gap=0         )         .reversal_axis()         .set_global_opts(             legend_opts=opt.LegendOpts(is_show=False),             yaxis_opts=opt.AxisOpts(is_show=True,),             xaxis_opts=opt.AxisOpts(is_show=True),         )         .set_series_opts(             label_opts=opt.LabelOpts(position="right"),              itemstyle_opts={             "normal": {                 "color": JsCode(                     """new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: "rgba(0, 244, 255, 1)"}, {offset: 1,color: "rgba(0, 77, 167, 1)"}], false)"""                 ),                 "barBorderRadius": [30, 30, 30, 30],"shadowColor": "rgb(0, 160, 221)",             }         }         )     )     tree = ( #绘制树图         TreeMap()         .add(             series_name=year,             data=[{"value":i[1],"name":i[0]} for i in values_data],             visual_min=30,             leaf_depth=1,             # 标签居中为 position = "inside"             width=  "12%",             height= "53%",             pos_left = "88%",             pos_top = "47%",             label_opts=opt.LabelOpts(position="inside"),             breadcrumb_opts=opt.TreeMapBreadcrumbOpts(                 is_show=False,                 pos_left= "left",                 height=50,                 ),             roam=False,         )         .set_global_opts(             legend_opts=opt.LegendOpts(is_show=False),             title_opts=opt.TitleOpts(                              ),         )     )              grid_chart =( #把绘制好的图形组合在一起         Grid()         .add(             bar,             grid_opts=opt.GridOpts(                 width=  300,                 height= 320            ),         )         .add(             tree,             grid_opts=opt.GridOpts(                             ),         )         .add(            charts,            grid_opts=opt.GridOpts(                             ),         )         .add(            pie,            grid_opts=opt.GridOpts(                           ),         )     )     tl.add( #把组合好的图形,添加进时间线轮播图里         chart=grid_chart,         time_point= f"{year}年",     )     tl.add_schema(         is_auto_play= True,         is_timeline_show=True,         orient="horizontal",         pos_left="left",         symbol_size=[8,5]     )  tl.render("时间线图.html")#生成绘制好的图形html文件 tl.render_notebook() # 在notebook里渲染出来绘制好的图形
  PS:绘图过程就是调整各图形的对应的参数,各位领导请  详阅  官方文档: https ://pyecharts.org/#/zh-cn/intro  完整代码import pandas as pd import pyecharts.options as opt from pyecharts.commons.utils import JsCode from pyecharts.charts import Pie, Bar,Timeline,Grid,TreeMap,WordCloud from pyecharts.globals import ThemeType time_data = {}  tl = Timeline(     init_opts=opt.InitOpts(         theme=ThemeType.DARK,         animation_opts=opt.AnimationOpts(             animation_duration=3000,             animation_delay_update = 10,     ) )) df = pd.read_csv("二手车数据.csv",index_col=0) df["car_year"] = df.car_year.agg(lambda x : x.split("-")[0]) df = df[(df.car_city=="昆明") | (df.car_city=="贵阳") |(df.car_city=="南宁") | (df.car_city=="成都") | (df.car_city=="重庆")| (df.car_city=="拉萨")] tb = df.pivot_table(values=["car_price(万元)",],index=["car_year","car_city"]) year_list = [i[0] for i in tb.index] city_list = [i[1] for i in tb.index] price_list = [round(i,ndigits=2) for i in tb["car_price(万元)"]] for k,v1,v2 in zip(year_list,city_list,price_list):     if k not in time_data:         time_data[k] = {v1:v2}     else:         time_data[k].update({v1:v2}) for year,city_price_dict in time_data.items():     values_list = list(sorted(city_price_dict.items(), key=lambda value : value[1], reverse=True))     values_data = (sorted(city_price_dict.items(), key=lambda value : value[1], reverse=False))     pie = (         Pie()         .add(             series_name=" 单位:万元",             data_pair = values_data,             radius= ["50%","60%"],             center = ["70%","50%"],             rosetype= "radius"         )         .set_global_opts(             title_opts=opt.TitleOpts(                 title= f"{year}年西南地区二手车均价"             )         )     )     charts = WordCloud()     charts.add(         series_name = "均价(万元)",         data_pair= values_data,         textstyle_opts=opt.TextStyleOpts(font_family="serif"),         shape = "diamond",         word_size_range= [10, 50],         pos_left = "35%",         pos_top = "12%",     )     charts.set_global_opts(         title_opts = opt.TitleOpts(         ),      )     bar = (         Bar()         .add_xaxis([i[0] for i in values_data])         .add_yaxis(             "单位万元",              [i[1] for i in values_data],             bar_width=30,             category_gap=0         )         .reversal_axis()         .set_global_opts(             legend_opts=opt.LegendOpts(is_show=False),             yaxis_opts=opt.AxisOpts(is_show=True,),             xaxis_opts=opt.AxisOpts(is_show=True),         )         .set_series_opts(             label_opts=opt.LabelOpts(position="right"),              itemstyle_opts={             "normal": {                 "color": JsCode(                     """new echarts.graphic.LinearGradient(0, 0, 0, 1, [{offset: 0,color: "rgba(0, 244, 255, 1)"}, {offset: 1,color: "rgba(0, 77, 167, 1)"}], false)"""                 ),                 "barBorderRadius": [30, 30, 30, 30],"shadowColor": "rgb(0, 160, 221)",             }         }         )     )     tree = (         TreeMap()         .add(             series_name=year,             data=[{"value":i[1],"name":i[0]} for i in values_data],             visual_min=30,             leaf_depth=1,             # 标签居中为 position = "inside"             width=  "12%",             height= "53%",             pos_left = "88%",             pos_top = "47%",             label_opts=opt.LabelOpts(position="inside"),             breadcrumb_opts=opt.TreeMapBreadcrumbOpts(                 is_show=False,                 pos_left= "left",                 height=50,                 ),             roam=False,         )         .set_global_opts(             legend_opts=opt.LegendOpts(is_show=False),             title_opts=opt.TitleOpts(                              ),         )     )              grid_chart =(         Grid()         .add(             bar,             grid_opts=opt.GridOpts(                 width=  300,                 height= 320            ),         )         .add(             tree,             grid_opts=opt.GridOpts(                             ),         )         .add(            charts,            grid_opts=opt.GridOpts(                             ),         )         .add(            pie,            grid_opts=opt.GridOpts(                           ),         )     )     tl.add(         chart=grid_chart,         time_point= f"{year}年",     )     tl.add_schema(         is_auto_play= True,         is_timeline_show=True,         orient="horizontal",         pos_left="left",         symbol_size=[8,5]     )  tl.render("时间线图.html") tl.render_notebook()结语
  以上汇报完毕,下篇文章再见.(如需文中数据资料请后台私信 )

止损,止损,止损在期货投机市场中,止损都是放在第一位的,否则就是妥妥的韭菜。下面就来谈谈止损的方法1。最大止损法最大止损法能让你最大程度保住本金。也就是说,你能容忍自己一天损失多少钱。如果损失到了现在值100万的房子,10年后会剩下多少钱?来看看懂行人的分析当下我国的老百姓为什么那么关注房价的变化?为什么聊天的话题还是离不开房子?其实还是房子已经和我们的生活离不开了,我国房地产经过近30年的发展,其中有20多年房价都是一直在上涨,让大云顶之弈国服前十上分思路,学会轻松上大分前言大家好,我是小嗨。12。17热补丁之后各个阵容都开始发生了强度梯度的变化,当然只要熟悉了这几套阵容上分还是非常简单的。一神龙努努神龙敖兴(版本T0)阵容解析在12。17b的版本拳皇叫错一辈子的人物,出了官方名字玩家也不依不饶人物的名字要怎么叫才算是正确的呢?游戏厅时期我们叫的是绰号,多年后大家在我网上交流的时候发现每个地方的方言不同,绰号不同,好在叫出来之后都秒懂。后期为了方便交流,玩家们都以港漫中的狭路相逢勇者胜,只要夺下这片阵地,胜利就是我们YZG的作为决赛圈内的观众,最好看的除了他人的大混战,那就是两尊大佛互殴了。对自己没有威胁,还能看到某个大佛飞来飞去,这难道不是天大的好消息?不过大佛之间的博弈,波及的永远是离他们最近的人灾难类题材游戏和电影,可能都怕卫星通信不管是在游戏圈还是影视圈,最近似乎都流行起了灾难类题材。比如趁着龙之家族火爆上映之时,HBO发布了顽皮狗知名游戏最后的生还者电视剧版预告,并宣布会在2023年上映。在游戏过程中想要格莉斯的旅程隐藏结尾触发方法介绍格莉斯的旅程在游戏中,玩家会有很多可以触发的结局。其中玩家满足一定的条件就可以到达隐藏的结局。有些玩家可能不知道隐藏的结局是什么,怎么结束。下面给大家简单介绍一下具体的触发方式。让寒露时节以后,这些事情不要做寒露以后,气温的不断下降我们在日常中可以注意以下几个方面一穿衣不露脚,出门泡个脚这里是说的泡热水脚。常言道寒露脚不露。寒露节气前后凉鞋基本可以收起来了,以防寒从足生,用热水泡脚能使体内有结石的人,若是管不住嘴,结石会越长越大,能忍住就是赢结石,就是在身体里取出的一个个小石头,有的比较大,有的则比较小,取出的数量也是不同的,有一些患者可从体内取出百余个结石。可能有的人会说太夸张了,但事实上真的有此种情况,却比较少见,秋季如何预防胃肠疾病入秋以后,气候变化较大,昼夜温差悬殊。人体受到冷空气刺激后,胃酸分泌大量增加,刺激胃黏膜,胃肠发生痉挛性收缩,抵抗力随之减弱。再加上不规律饮食及熬夜等不良生活习惯,就造成了秋季胃肠血虚发燥气虚无力阴虚发热阳虚怕冷,送你4味药,补血补气补阴阳大家好,我是刘医生。现在很多人的免疫力都很差,经常生病。老是感觉身上哪哪都不得劲。在中医上讲这是因为正气不足,引起的虚症。身体过于虚弱,导致抗病能力下降。今天,刘医生就将4种常见的
海底捞海外品牌今日在港上市,盘中猛涨100!市值一夜回血逾2000亿元,特斯拉创五个月最大涨幅,新能源车板块集体嗨了今日是2022年最后一个交易日,A股整体高开走强,两市成交依旧低迷。盘面上,新能源车新零售互联网元宇宙等板块表现活跃,防疫概念再度全线回调,熊去氧胆酸血氧仪新冠药新冠检测等板块跌幅元音大冒险热播,百度曦灵如何助力内容生产走出创意困境?百度智能云曦灵点燃制作业高质量发展的新引擎,与广大创作者一起,共同迎接内容市场的未来所向。日前,全球第一个虚拟现实游戏闯关真人秀节目元音大冒险在爱奇艺开播。数字人,和你体验不一样的世台联主席不会终身禁赛!中国斯诺克迎来三大喜讯!新年伊始,世台联主席弗格森在拜访中透露重大喜讯,主要是针对中国斯诺克假球事件中国斯诺克赛事回归!在刚刚过去的一年,中国斯诺克上半年喜,下半年忧,喜的是赵心童范争一等球员夺冠,忧的是懂球帝必知NBA球星最美娇妻系列(四)皮蓬的烦恼拉尔萨头号有新人娱乐周周报,篮坛八卦,科普君带您早知道!大家好,笔者是篮坛科普君,今天继续我们的NBA最美娇妻系列。自然NBA球员作为世界上篮球打得最好的一批人,他们中的大多数在身高颜值难堪大任?恩佐拒绝比赛并擅自离队,切尔西或放弃转会交易恩佐费尔南德斯是卡塔尔世界杯上最火球员之一!他是阿根廷队夺冠的大功臣,控球传球拦截能力突出,是一位极具潜力的全能型的中场球员。凭借在这届世界杯上的惊艳表现,21岁的恩佐一举摘得世界据联盟名记透露火箭在下一盘大棋,或瞄准1号位詹姆斯!北京时间1月1日,在火箭以88108惨败给尼克斯后,火箭遭遇三连败,同时也是球队主场六连败。数据很好的说明了火箭有多差本赛季至今,火箭场均得到109。4分,位列全联盟倒数第二,场均法媒内马尔已返回巴西将出席贝利葬礼及悼念活动据法国媒体RMCSport报道,巴西球星内马尔目前已经返回巴西,准备出席本周二举行的贝利葬礼以及后续的一系列悼念活动。在此前大巴黎同斯特拉斯堡的比赛中,内马尔染红被罚下,因此错过了原来大力神杯是要还回去的,梅西只能带走复制品头条创作挑战赛2022卡塔尔世界杯赛事圆满落幕,在全世界的见证下,梅西及其队友于绚丽烟火中捧起大力神杯,留下经典一刻。衣锦还乡回到阿根廷首都布宜诺斯艾利斯,全队乘坐大巴车,手捧大力建议乔尔杰维奇,男篮世界杯就用这12人,多一个也不要!中锋易建联周琦王哲林陶汉林锋线张镇麟刘泽一顾全姜宇星后卫赵继伟郭艾伦张宁赵睿易建联,中国男篮的领军人物,球队的主心骨,中远投精准!场均13。2分,7。1篮板,0。8助攻,1。1抢断运动耳机新物种HAKIIMIX哈氪无界这几年也玩了不少蓝牙耳机了,有头戴耳机,耳塞式耳机,还有骨传导耳机。这些同类型的耳机在外形上几乎变化不大,已经很难给消费者带来视觉上的冲击力,不过在双十一节后我发现了耳机新物种哈氪价格不超过2500元,两台好评和销量均不错的手机,究竟该怎么选看文章听音乐是种享受,想听什么留言告知(都是付费无损包)任何手机在诞生之初纯粹是为了方便,虽然也不是没有品牌能试图做一个主打全能和全面的产品出来,但奈何现在的手机品牌在出新的时候都