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)


相关推荐

  • HTTP与TCP的区别和联系[通俗易懂]

    HTTP与TCP的区别和联系[通俗易懂]     相信不少初学应用网络程序开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助。一、基本概念1、TCP连接     手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。     建立起一个TCP…

  • B样条曲线与贝塞尔曲线学习笔记

    B样条曲线与贝塞尔曲线学习笔记贝塞尔曲线基本公式:B(t)=∑i=0n(in)Pi(1−t)n−iti,t∈[0,1]基本公式:B(t)=\sum_{i=0}^{n}\Big({_i^n}\Big)P_i(1-t)^{n-i}t^i,t\in[0,1]基本公式:B(t)=i=0∑n​(in​)Pi​(1−t)n−iti,t∈[0,1]三次贝塞尔曲线:B(t)=P0(1−t)3+3P1t(1−t)2+3P2t2(1−t)…

  • phpstrom2021.9激活码【2021最新】[通俗易懂]

    (phpstrom2021.9激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlS3…

  • linux初识到入门_文件系统[通俗易懂]

    linux初识到入门_文件系统

  • java tess4j训练库_Java 验证码识别库 Tess4j 学习

    java tess4j训练库_Java 验证码识别库 Tess4j 学习Java验证码识别库Tess4j学习【在用java的Jsoup做爬虫爬取数据时遇到了验证码识别的问题(基于maven),找了网上挺多的资料,发现Tess4j可以自动识别验证码,在这里简单记录下学习过程及遇到的一些问题。】步骤:需要在步骤一的tessdata文件中加入相关语言包(训练文件),在这里下载:https://github.com/tesseract-ocr/tessdata,如果是简…

  • 使用npm安装yarn命令

    使用npm安装yarn命令’yarn’不是内部或外部命令,也不是可运行的程序或批处理文件。解决方法:全局安装:npminstall-gyarn检查是否安装成功:yarn-v

发表回复

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

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