Python数据可视化工具软件_数据大屏可视化

Python数据可视化工具软件_数据大屏可视化如何做Python的数据可视化?pyecharts是一个用于生成Echarts图表的类库。Echarts是百度开源的一个数据可视化JS库。主要用于数据可视化。一、安装pyecharts兼容Python2和Python3。目前版本为0.1.4pipinstallpyecharts二、入门首先开始来绘制你的第一个图表

大家好,又见面了,我是你们的朋友全栈君。

刘宇宙,现在一家创业型公司做技术总负责,做爬虫和数据处理相关工作,曾从事过卡系统研发、金融云计算服务系统研发,物联网方向大数据研发,著书一本,《Python3.5从零开始学》

如何做Python 的数据可视化?

pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。主要用于数据可视化。

一、安装

pyecharts 兼容 Python2 和 Python3。目前版本为 0.1.4

pip install pyecharts

二、入门

首先开始来绘制你的第一个图表

frompyecharts importBarbar =Bar(我的第一个图表这里是副标题)bar.add(服装, [衬衫羊毛衫雪纺衫裤子高跟鞋袜子], [52036107590])bar.show_config()bar.render()

Python数据可视化工具软件_数据大屏可视化

Tip:可以按右边的下载按钮将图片下载到本地

  • add()

    主要方法,用于添加图表的数据和设置各种配置项

  • show_config()

    打印输出图表的所有配置项

  • render()

    默认将会在根目录下生成一个 render.html 的文件,支持 path 参数,设置文件保存位置,如 render(r”e:my_first_chart.html”),文件用浏览器打开。

    默认的编码类型为 UTF-8,在 Python3 中是没什么问题的,Python3 对中文的支持好很多。但是在 Python2 中,编码的处理是个很头疼的问题,暂时没能找到完美的解决方法,目前只能通过文本编辑器自己进行二次编码,我用的是 Visual Studio Code,先通过 Gbk 编码重新打开,然后再用 UTF-8 重新保存,这样用浏览器打开的话就不会出现中文乱码问题了。

基本上所有的图表类型都是这样绘制的:

  1. chart_name = Type() 初始化具体类型图表。

  2. add() 添加数据及配置项。

  3. render() 生成 .html 文件。

三、图表类型

因篇幅原因,这里只给出了每种图表类型的示例(代码 + 生成图表),目的是为了引起读者的兴趣。详细参数的介绍请参考项目 README.md 文档

1 Bar(柱状图/条形图)

frompyecharts importBarbar =Bar(标记线和标记点示例)bar.add(商家A, attr, v1, mark_point=[average])bar.add(商家B, attr, v2, mark_line=[minmax])bar.render()

frompyecharts importBarbar =Bar(x 轴和 y 轴交换)bar.add(商家A, attr, v1)bar.add(商家B, attr, v2, is_convert=True)bar.render()

Python数据可视化工具软件_数据大屏可视化

2 EffectScatter(带有涟漪特效动画的散点图)

frompyecharts importEffectScatterv1 =[102030405060]v2 =[252015106033]es =EffectScatter(动态散点图示例)es.add(effectScatter, v1, v2)es.render()

es =EffectScatter(动态散点图各种图形示例)es.add(“”, [10], [10], symbol_size=20effect_scale=3.5effect_period=3symbol=pin)es.add(“”, [20], [20], symbol_size=12effect_scale=4.5effect_period=4,symbol=rect)es.add(“”, [30], [30], symbol_size=30effect_scale=5.5effect_period=5,symbol=roundRect)es.add(“”, [40], [40], symbol_size=10effect_scale=6.5effect_brushtype=fill,symbol=diamond)es.add(“”, [50], [50], symbol_size=16effect_scale=5.5effect_period=3,symbol=arrow)es.add(“”, [60], [60], symbol_size=6effect_scale=2.5effect_period=3,symbol=triangle)es.render()

Python数据可视化工具软件_数据大屏可视化

3 Funnel(漏斗图)

frompyecharts importFunnelattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]value =[20406080100120]funnel =Funnel(漏斗图示例)funnel.add(商品, attr, value, is_label_show=Truelabel_pos=insidelabel_text_color=#fff)funnel.render()

4 Gauge(仪表盘)

frompyecharts importGaugegauge =Gauge(仪表盘示例)gauge.add(业务指标完成率66.66)gauge.show_config()gauge.render()

Python数据可视化工具软件_数据大屏可视化

5 Geo(地理坐标系)

frompyecharts importGeodata =[ (海门9),(鄂尔多斯12),(招远12),(舟山12),(齐齐哈尔14),(盐城15), (赤峰16),(青岛18),(乳山18),(金昌19),(泉州21),(莱西21), (日照21),(胶南22),(南通23),(拉萨24),(云浮24),(梅州25)]geo =Geo(全国主要城市空气质量data from pm2.5title_color=#ffftitle_pos=center,width=1200height=600background_color=#404a59)attr, value =geo.cast(data)geo.add(“”, attr, value, visual_range=[0200], visual_text_color=#fffsymbol_size=15is_visualmap=True)geo.show_config()geo.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importGeodata =[(海门9), (鄂尔多斯12), (招远12), (舟山12), (齐齐哈尔14), (盐城15)]geo =Geo(全国主要城市空气质量data from pm2.5title_color=#ffftitle_pos=centerwidth=1200height=600background_color=#404a59)attr, value =geo.cast(data)geo.add(“”, attr, value, type=effectScatteris_random=Trueeffect_scale=5)geo.show_config()geo.render()

Python数据可视化工具软件_数据大屏可视化

6 Graph(关系图)

frompyecharts importGraphnodes =[{
name结点1symbolSize10}, {
name结点2symbolSize20}, {
name结点3symbolSize30}, {
name结点4symbolSize40}, {
name结点5symbolSize50}, {
name结点6symbolSize40}, {
name结点7symbolSize30}, {
name结点8symbolSize20}]links =[]forinnodes: forinnodes: links.append({
source: i.get(name), target: j.get(name)})graph =Graph(关系图-环形布局示例)graph.add(“”, nodes, links, is_label_show=Truerepulsion=8000layout=circularlabel_text_color=None)graph.show_config()graph.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importGraphimportjsonwithopen(..jsonweibo.jsonrencoding=utf-8asf: j =json.load(f) nodes, links, categories, cont, mid, userl =jgraph =Graph(微博转发关系图width=1200height=600)graph.add(“”, nodes, links, categories, label_pos=rightrepulsion=50is_legend_show=Falseline_curve=0.2label_text_color=None)graph.show_config()graph.render()

Python数据可视化工具软件_数据大屏可视化

7 Line(折线/面积图)

frompyecharts importLineattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[520361010100]v2 =[556016201580]line =Line(折线图示例)line.add(商家A, attr, v1, mark_point=[average])line.add(商家B, attr, v2, is_smooth=Truemark_line=[maxaverage])line.show_config()line.render()

line =Line(折线图-阶梯图示例)line.add(商家A, attr, v1, is_step=Trueis_label_show=True)line.show_config()line.render()

Python数据可视化工具软件_数据大屏可视化

line =Line(折线图-面积图示例)line.add(商家A, attr, v1, is_fill=Trueline_opacity=0.2area_opacity=0.4symbol=None)line.add(商家B, attr, v2, is_fill=Truearea_color=#000area_opacity=0.3is_smooth=True)line.show_config()line.render()

Python数据可视化工具软件_数据大屏可视化

8 Liquid(水球图)

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.6])liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.60.50.40.3], is_liquid_outline_show=False)liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importLiquidliquid =Liquid(水球图示例)liquid.add(Liquid, [0.60.50.40.3], is_liquid_animation=Falseshape=diamond)liquid.show_config()liquid.render()

Python数据可视化工具软件_数据大屏可视化

9 Map(地图)

frompyecharts importMapvalue =[15510667833801905349.6]attr =[福建山东北京上海甘肃新疆河南广西西藏]map=Map(Map 结合 VisualMap 示例width=1200height=600)map.add(“”, attr, value, maptype=chinais_visualmap=Truevisual_text_color=#000)map.show_config()map.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importMapvalue =[201902537765]attr =[汕头市汕尾市揭阳市阳江市肇庆市]map=Map(广东地图示例width=1200height=600)map.add(“”, attr, value, maptype=广东is_visualmap=Truevisual_text_color=#000)map.show_config()map.render()

Python数据可视化工具软件_数据大屏可视化

10 Parallel(平行坐标系)

frompyecharts importParallelc_schema =[ {
dim0namedata}, {
dim1nameAQI}, {
dim2namePM2.5}, {
dim3namePM10}, {
dim4nameCO}, {
dim5nameNO2}, {
dim6nameCO2}, {
dim7name等级typecategorydata: [轻度污染中度污染重度污染严重污染]}]data =[ [191451250.823423], [26527780.864529], [38360841.097327], [4109811211.286851轻度污染], [5106771141.075551轻度污染], [6109811211.286851轻度污染], [7106771141.075551轻度污染], [88965780.865126], [95333470.645017], [108055801.017524], [11117811241.034524轻度污染], [1299711421.16242], [1395691301.287450], [14116871311.478440轻度污染]]parallel =Parallel(平行坐标系-用户自定义指示器)parallel.config(c_schema=c_schema)parallel.add(parallel, data)parallel.show_config()parallel.render()

Python数据可视化工具软件_数据大屏可视化

11 Pie(饼图)

frompyecharts importPieattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[111213101010]pie =Pie(饼图示例)pie.add(“”, attr, v1, is_label_show=True)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importPieattr =[衬衫羊毛衫雪纺衫裤子高跟鞋袜子]v1 =[111213101010]v2 =[192132202033]pie =Pie(饼图-玫瑰图示例title_pos=centerwidth=900)pie.add(商品A, attr, v1, center=[2550], is_random=Trueradius=[3075], rosetype=radius)pie.add(商品B, attr, v2, center=[7550], is_random=Trueradius=[3075], rosetype=areais_legend_show=Falseis_label_show=True)pie.show_config() pie.render()

Python数据可视化工具软件_数据大屏可视化

12 Polar(极坐标系)

frompyecharts importPolarradius =[周一周二周三周四周五周六周日]polar =Polar(极坐标系-堆叠柱状图示例width=1200height=600)polar.add(A, [1234351], radius_data=radius, type=barRadiusis_stack=True)polar.add(B, [2461231], radius_data=radius, type=barRadiusis_stack=True)polar.add(C, [1234125], radius_data=radius, type=barRadiusis_stack=True)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

frompyecharts importPolarradius =[周一周二周三周四周五周六周日]polar =Polar(极坐标系-堆叠柱状图示例width=1200height=600)polar.add(“”, [1234351], radius_data=radius, type=barAngleis_stack=True)polar.add(“”, [2461231], radius_data=radius, type=barAngleis_stack=True)polar.add(“”, [1234125], radius_data=radius, type=barAngleis_stack=True)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

13 Radar(雷达图)

frompyecharts importRadarschema =[ (销售6500), (管理16000), (信息技术30000), (客服38000), (研发52000), (市场25000)]v1 =[[43001000028000350005000019000]]v2 =[[50001400028000310004200021000]]radar =Radar()radar.config(schema)radar.add(预算分配, v1, is_splitline=Trueis_axisline_show=True)radar.add(实际开销, v2, label_color=[#4e79a7], is_area_show=False)radar.show_config()radar.render()

Python数据可视化工具软件_数据大屏可视化

value_bj =[ [559560.461861], [2511210.653492], [567630.31453], [337290.331664]]value_sh =[ [91451250.8234231], [6527780.8645292], [8360841.0973273], [109811211.2868514]]c_schema=[{
nameAQImax300min5}, {
namePM2.5max250min20}, {
namePM10max300min5}, {
nameCOmax5}, {
nameNO2max200}, {
nameSO2max100}]radar =Radar()radar.config(c_schema=c_schema, shape=circle)radar.add(北京, value_bj, item_color=#f9713csymbol=None)radar.add(上海, value_sh, item_color=#b3e4a1symbol=None)radar.show_config()radar.render()

Python数据可视化工具软件_数据大屏可视化

14 Scatter(散点图)

frompyecharts importScatterv1 =[102030405060]v2 =[102030405060]scatter =Scatter(散点图示例)scatter.add(A, v1, v2)scatter.add(B, v1[::1], v2)scatter.show_config()scatter.render()

Python数据可视化工具软件_数据大屏可视化

散点打印Pyecharts字体。

frompyecharts importScatterscatter =Scatter(散点图示例)v1, v2 =scatter.draw(../images/pyecharts-0.png)scatter.add(pyecharts, v1, v2, is_random=True)scatter.show_config()scatter.render()

Python数据可视化工具软件_数据大屏可视化

15 WordCloud(词云图)

frompyecharts importWordCloudname =[Sam S ClubMacysAmy SchumerJurassic WorldCharter CommunicationsChick Fil APlanet FitnessPitch PerfectExpressHomeJohnny DeppLena DunhamLewis HamiltonKXANMary Ellen MarkFarrah AbrahamRita OraSerena WilliamsNCAA baseball tournamentPoint Break]value =[1000061814386405524672244189814841112965847582555550462366360282273265]wordcloud =WordCloud(width=1300height=620)wordcloud.add(“”, name, value, word_size_range=[20100])wordcloud.show_config()wordcloud.render()

Python数据可视化工具软件_数据大屏可视化

wordcloud =WordCloud(width=1300height=620)wordcloud.add(“”, name, value, word_size_range=[30100], shape=diamond)wordcloud.show_config()wordcloud.render()

Python数据可视化工具软件_数据大屏可视化

五、用户自定义

用户还可以自定义结合 Line/Bar 图表

需使用 get_series() 和 custom() 方法

get_series()“””获取图表的 series 数据 “””

custom(series)”’追加自定义图表类型 ”’

  • series -> dict

    追加图表类型的 series 数据

先用 get_series() 获取数据,再使用 custom() 将图表结合在一起

frompyecharts importBar, Lineattr =[ABCDEF]v1 =[102030405060]v2 =[152535455565]v3 =[382858487868]bar =Bar(Line – Bar 示例)bar.add(bar, attr, v1)line =Line()line.add(line, v2, v3)bar.custom(line.get_series())bar.show_config()bar.render()

六、更多示例

用极坐标系画出一个爱心

importmathfrompyecharts importPolardata =[]forinrange(101): theta =/100*360=5*(1+math.sin(theta /180*math.pi)) data.append([r, theta])hour =[i forinrange(125)]polar =Polar(极坐标系示例width=1200height=600)polar.add(Love, data, angle_data=hour, boundary_gap=False,start_angle=0)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

用极坐标系画出一朵小花

importmathfrompyecharts importPolardata =[]forinrange(361): t =/180*math.pi r =math.sin(2*t) *math.cos(2*t) data.append([r, i])polar =Polar(极坐标系示例width=1200height=600)polar.add(Flower, data, start_angle=0symbol=Noneaxis_range=[0None])polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

还可以给小花涂上颜色

importmathfrompyecharts importPolardata =[]forinrange(361): t =/180*math.pi r =math.sin(2*t) *math.cos(2*t) data.append([r, i])polar =Polar(极坐标系示例width=1200height=600)polar.add(Color-Flower, data, start_angle=0symbol=Noneaxis_range=[0None], area_color=#f71f24area_opacity=0.6)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

用散点图画出一个爱心

frompyecharts importScatterscatter =Scatter(散点图示例width=800height=480)v1 ,v2 =scatter.draw(../images/love.png)scatter.add(Love, v1, v2)scatter.render()

Python数据可视化工具软件_数据大屏可视化

用散点图画出一个火辣的 Bra

frompyecharts importScatterscatter =Scatter(散点图示例width=1000height=480)v1 ,v2 =scatter.draw(../images/cup.png)scatter.add(Cup, v1, v2)scatter.render()

Python数据可视化工具软件_数据大屏可视化

某地最低温和最高气温折线图

frompyecharts importLineattr =[周一周二周三周四周五周六周日, ]line =Line(折线图示例)line.add(最高气温, attr, [11111513121310], mark_point=[maxmin], mark_line=[average])line.add(最低气温, attr, [1225320], mark_point=[maxmin], mark_line=[average], yaxis_formatter=°C)line.show_config()line.render()

饼图嵌套

frompyecharts importPiepie =Pie(饼图示例title_pos=centerwidth=1000height=600)pie.add(“”, [ABCDEF], [335321234135251148], radius=[4055],is_label_show=True)pie.add(“”, [HIJ], [335679204], radius=[030], legend_orient=verticallegend_pos=left)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

饼图再嵌套

importrandomfrompyecharts importPieattr =[ABCDEF]pie =Pie(饼图示例width=1000height=600)pie.add(“”, attr, [random.randint(0100forinrange(6)], radius=[5055], center=[2550],is_random=True)pie.add(“”, attr, [random.randint(20100forinrange(6)], radius=[045], center=[2550],rosetype=area)pie.add(“”, attr, [random.randint(0100forinrange(6)], radius=[5055], center=[6550],is_random=True)pie.add(“”, attr, [random.randint(20100forinrange(6)], radius=[045], center=[6550],rosetype=radius)pie.show_config()pie.render()

某地的降水量和蒸发量柱状图

frompyecharts importBarattr =[{}月.format(i) forinrange(113)]v1 =[2.04.97.023.225.676.7135.6162.232.620.06.43.3]v2 =[2.65.99.026.428.770.7175.6182.248.718.86.02.3]bar =Bar(柱状图示例)bar.add(蒸发量, attr, v1, mark_line=[average], mark_point=[maxmin])bar.add(降水量, attr, v2, mark_line=[average], mark_point=[maxmin])bar.show_config()bar.render()

Python数据可视化工具软件_数据大屏可视化

各类电影中”好片”所占的比例

frompyecharts importPiepie =Pie(各类电影中”好片”所占的比例数据来着豆瓣title_pos=center)pie.add(“”, [剧情“”], [2575], center=[1030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None, )pie.add(“”, [奇幻“”], [2476], center=[3030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=Nonelegend_pos=left)pie.add(“”, [爱情“”], [1486], center=[5030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [惊悚“”], [1189], center=[7030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [冒险“”], [2773], center=[9030], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [动作“”], [1585], center=[1070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [喜剧“”], [5446], center=[3070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [科幻“”], [2674], center=[5070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [悬疑“”], [2575], center=[7070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=None)pie.add(“”, [犯罪“”], [2872], center=[9070], radius=[1824], label_pos=centeris_label_show=Truelabel_text_color=Noneis_legend_show=Truelegend_top=center)pie.show_config()pie.render()

Python数据可视化工具软件_数据大屏可视化

用极坐标系画出一个蜗牛壳

importmathfrompyecharts importPolardata =[]forinrange(5): forinrange(101): theta =/100*360alpha =*360+theta r =math.pow(math.e, 0.003*alpha) data.append([r, theta])polar =Polar(极坐标系示例)polar.add(“”, data, symbol_size=0symbol=circlestart_angle=-25is_radiusaxis_show=Falsearea_color=#f3c5b3area_opacity=0.5is_angleaxis_show=False)polar.show_config()polar.render()

Python数据可视化工具软件_数据大屏可视化

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/124940.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 模糊PID基本原理及matlab仿真实现(新手!新手!新手!)「建议收藏」

    模糊PID基本原理及matlab仿真实现(新手!新手!新手!)「建议收藏」有关模糊pid的相关知识就把自己从刚接触到仿真出结果看到的大部分资料总结一下,以及一些自己的ps 以下未说明的都为转载内容 1.转自 https://blog.csdn.net/weixin_36340979/article/details/79168052在讲解模糊PID前,我们先要了解PID控制器的原理(本文主要介绍模糊PID的运用,对PID控制器的原理不做详细介绍)。P…

  • 细谈 axios和ajax区别

    细谈 axios和ajax区别刚刚接触axios有好多疑惑。它和ajax有什么关系呢和区别呢?接下来一起看下:1.区别axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。简单来说:ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。axios是ajaxajax不止axios。下面列出代码来对比一下:axios:axios({…

    2022年10月22日
  • PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)

    PHP安装包TS和NTS的区别-Centos7 LANMP环境搭建(最完善版本)

  • 从零到一搭建一个属于自己的博客系统(弎)「建议收藏」

    从零到一搭建一个属于自己的博客系统(弎)「建议收藏」前言:结合上文讲到了博客发布,本篇文章进行对于个人的信息进行一系列操作:从零到一搭建一个属于自己的博客系统(弌):从零到一搭建一个属于自己的博客系统(弌)从零到一搭建一个属于自己的博客系统(弍):从零到一搭建一个属于自己的博客系统(弍)目录:一.界面元素:二.个人中心:1.页面部分以及HTML:2.CSS:3.效果图:4.js:三.Django接口:1.修改密码(update):2.忘记密码(see):3.日志查看(seemsg):4.日志写入(usermsg):四.补充:五.换肤:一.界面元素:

    2022年10月11日
  • double 转 BigDecimal 失真问题

    double 转 BigDecimal 失真问题最近在看银行家算法的时候发现原博文中用的BigDecimal有问题,所以总结了BigDecimal失真问题,自己也总结了几种经常用的转换方式,并且列出来,以防以后忘记,代码如下      doubledb=211288.555;       Stringstr="211288.555";       BigDecimalrw=BigDecimal.valueOf(…

  • C++创建线程_C语言网络编程创建线程

    C++创建线程_C语言网络编程创建线程在window系统中编写控制台程序,创建线程使用CreateThread()函数创建,则线程函数必须申明为DWORDWINAPI;使用_beginthreadex()创建,则线程函数必须申明为unsignedintWINAPI;并需要设置环境:工程->设置->C/C++->CodeGeneration->Userun-timelibray->选DebugMultithr

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号