成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文學會制作 6 種炫酷的 Python 動態圖

開發 后端
很多時候,一張炫酷圖就足以勝過千言萬語。對于數學科學家來說,當想闡述自己的觀點、勞動成果時,我們需要直接有效的溝通。單調乏味的文本和數字,很難抓住別人的眼球,飄飄亮亮的可視化動態圖是必不可少的,至少是一個加分項。

 很多時候,一張炫酷圖就足以勝過千言萬語。對于數學科學家來說,當想闡述自己的觀點、勞動成果時,我們需要直接有效的溝通。單調乏味的文本和數字,很難抓住別人的眼球,飄飄亮亮的可視化動態圖是必不可少的,至少是一個加分項。

[[322709]]

本文將基于Python的Plotly圖形庫,介紹幾種工作中常用的動畫圖和交互式圖標。在使用之前看一下是否安裝了 Plotly。

1. 朝陽圖

層次結構數據通常存儲為矩形數據框,其中不同的列對應于層次結構的不同級別。px.sunburst可以采用path與列列表相對應的參數。請注意,如果給出id,則parent不應提供path。

 

  1. import plotly.express as px 
  2. df = px.data.tips() 
  3. fig = px.sunburst(df, path=['day''time''sex'], values='total_bill'
  4. fig.show() 

2. 桑基圖

桑基圖通過定義可視化到流動的貢獻源來表示源節點,目標為目標節點,數值以設置流volum,和標簽,顯示了節點名稱,在流量分析中常用。

  1. import plotly.graph_objects as go 
  2. import urllib, json 
  3.  
  4. url = 'https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json' 
  5. response = urllib.request.urlopen(url) 
  6. data = json.loads(response.read()) 
  7.  
  8. # override gray link colors with 'source' colors 
  9. opacity = 0.4 
  10. # change 'magenta' to its 'rgba' value to add opacity 
  11. data['data'][0]['node']['color'] = ['rgba(255,0,255, 0.8)' if color == "magenta" else color for color in data['data'][0]['node']['color']] 
  12. data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src].replace("0.8", str(opacity)) 
  13.                                     for src in data['data'][0]['link']['source']] 
  14.  
  15. fig = go.Figure(data=[go.Sankey( 
  16.     valueformat = ".0f"
  17.     valuesuffix = "TWh"
  18.     # Define nodes 
  19.     node = dict( 
  20.       pad = 15, 
  21.       thickness = 15, 
  22.       line = dict(color = "black", width = 0.5), 
  23.       label =  data['data'][0]['node']['label'], 
  24.       color =  data['data'][0]['node']['color'
  25.     ), 
  26.     # Add links 
  27.     link = dict( 
  28.       source =  data['data'][0]['link']['source'], 
  29.       target =  data['data'][0]['link']['target'], 
  30.       value =  data['data'][0]['link']['value'], 
  31.       label =  data['data'][0]['link']['label'], 
  32.       color =  data['data'][0]['link']['color'
  33. ))]) 
  34.  
  35. fig.update_layout(title_text="Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a >Mike Bostock</a>"
  36.                   font_size=10) 
  37. fig.show() 

效果圖

 

一文學會制作 6 種炫酷的 Python 動態圖

 

3. 雷達圖

雷達圖(也稱為蜘蛛情節或情節星)顯示器在從中心軸始發表示定量變量的二維圖的形式多變量數據。軸的相對位置和角度通常是無用的。它等效于軸沿徑向排列的平行坐標圖。

 

  1. import plotly.graph_objects as go 
  2. import urllib, json 
  3.  
  4. url = 'https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json' 
  5. response = urllib.request.urlopen(url) 
  6. data = json.loads(response.read()) 
  7.  
  8. # override gray link colors with 'source' colors 
  9. opacity = 0.4 
  10. # change 'magenta' to its 'rgba' value to add opacity 
  11. data['data'][0]['node']['color'] = ['rgba(255,0,255, 0.8)' if color == "magenta" else color for color in data['data'][0]['node']['color']] 
  12. data['data'][0]['link']['color'] = [data['data'][0]['node']['color'][src].replace("0.8", str(opacity)) 
  13.                                     for src in data['data'][0]['link']['source']] 
  14.  
  15. fig = go.Figure(data=[go.Sankey( 
  16.     valueformat = ".0f"
  17.     valuesuffix = "TWh"
  18.     # Define nodes 
  19.     node = dict( 
  20.       pad = 15, 
  21.       thickness = 15, 
  22.       line = dict(color = "black", width = 0.5), 
  23.       label =  data['data'][0]['node']['label'], 
  24.       color =  data['data'][0]['node']['color'
  25.     ), 
  26.     # Add links 
  27.     link = dict( 
  28.       source =  data['data'][0]['link']['source'], 
  29.       target =  data['data'][0]['link']['target'], 
  30.       value =  data['data'][0]['link']['value'], 
  31.       label =  data['data'][0]['link']['label'], 
  32.       color =  data['data'][0]['link']['color'
  33. ))]) 
  34.  
  35. fig.update_layout(title_text="Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a >Mike Bostock</a>"
  36.                   font_size=10) 
  37. fig.show() 

效果圖

 

一文學會制作 6 種炫酷的 Python 動態圖

 

4. 漏斗圖

漏斗圖通常用于表示業務流程不同階段的數據。在商業智能中,這是識別流程潛在問題區域的重要機制。例如,它用于觀察銷售過程中每個階段的收入或損失,并顯示逐漸減小的值。每個階段均以占所有值的百分比表示。

 

  1. from plotly import graph_objects as go 
  2.  
  3. fig = go.Figure() 
  4.  
  5. fig.add_trace(go.Funnel( 
  6.     name = 'Montreal'
  7.     y = ["Website visit""Downloads""Potential customers""Requested price"], 
  8.     x = [120, 60, 30, 20], 
  9.     textinfo = "value+percent initial")) 
  10.  
  11. fig.add_trace(go.Funnel( 
  12.     name = 'Toronto'
  13.     orientation = "h"
  14.     y = ["Website visit""Downloads""Potential customers""Requested price""invoice sent"], 
  15.     x = [100, 60, 40, 30, 20], 
  16.     textposition = "inside"
  17.     textinfo = "value+percent previous")) 
  18.  
  19. fig.add_trace(go.Funnel( 
  20.     name = 'Vancouver'
  21.     orientation = "h"
  22.     y = ["Website visit""Downloads""Potential customers""Requested price""invoice sent""Finalized"], 
  23.     x = [90, 70, 50, 30, 10, 5], 
  24.     textposition = "outside"
  25.     textinfo = "value+percent total")) 
  26.  
  27. fig.show() 

效果圖

 

一文學會制作 6 種炫酷的 Python 動態圖

 

5. 3D表面圖

具有輪廓的曲面圖,使用contours屬性顯示和自定義每個軸的輪廓數據。

 

  1. import plotly.graph_objects as go 
  2.  
  3. import pandas as pd 
  4.  
  5. Read data from a csv 
  6. z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv'
  7.  
  8. fig = go.Figure(data=[go.Surface(z=z_data.values)]) 
  9. fig.update_traces(contours_z=dict(show=True, usecolormap=True
  10.                                   highlightcolor="limegreen", project_z=True)) 
  11. fig.update_layout(title='Mt Bruno Elevation', autosize=False
  12.                   scene_camera_eye=dict(x=1.87, y=0.88, z=-0.64), 
  13.                   width=500, height=500, 
  14.                   margin=dict(l=65, r=50, b=65, t=90) 
  15.  
  16. fig.show() 

6. 動畫圖

一些Plotly Express函數支持通過animation_frame和animation_group參數創建動畫人物。這是使用Plotly Express創建的動畫散點圖的示例。請注意,您應始終修復x_range和,y_range以確保您的數據在整個動畫中始終可見。

 

  1. import plotly.express as px 
  2. df = px.data.gapminder() 
  3. px.scatter(df, x="gdpPercap", y="lifeExp", animation_frame="year", animation_group="country"
  4.            size="pop", color="continent", hover_name="country"
  5.            log_x=True, size_max=55, range_x=[100,100000], range_y=[25,90]) 

結論

可視化的圖形在日常工作中經常實用,其中Plotly是用過的體驗比較好的,本篇文章分享給大家一些案例,Plotly可視化遠不止這些,在后續的文章中,涉及可視化部分的,將介紹更多酷炫的可視化圖形,喜歡點個在看分享,收藏以備不時之需。

責任編輯:華軒 來源: 今日頭條
相關推薦

2020-08-03 08:01:50

爬蟲技巧

2025-01-14 00:00:00

場景線程數據

2020-08-31 06:54:37

注解脫敏ELK

2020-04-20 10:47:57

Redis數據開發

2021-06-28 14:13:34

OOM內存事故

2021-04-30 07:33:35

效率提升技巧

2021-04-28 07:22:13

HiveJson數組

2021-06-26 09:26:01

Jupyter主題目錄

2021-08-04 07:47:18

IDEJTAGSWD

2021-03-29 08:24:18

KubeadmKubernetes1運維

2023-11-01 10:49:50

Python面向對象

2019-03-21 09:45:11

TypeScript編程語言Javascript

2023-09-26 12:22:37

隊列Python

2021-04-07 08:13:28

LirbeNMS開源SNMP

2020-09-17 17:46:20

Python地鐵線路圖

2020-09-07 13:02:22

地球Python代碼

2019-11-12 09:15:18

MySQL復制拓撲Orchestrato

2023-07-31 08:18:50

Docker參數容器

2021-07-30 06:51:28

Nginx運維web

2023-04-26 15:27:11

JavaScript技巧元素
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一级做受毛片免费大片 | h视频免费在线观看 | 少妇精品久久久久久久久久 | 在线a视频 | 国产精品视频免费观看 | 亚洲看片网站 | 亚洲 欧美 日韩在线 | 亚洲精品久久区二区三区蜜桃臀 | 99久久久99久久国产片鸭王 | 99久久国产精 | 日本精品网站 | 亚洲精品av在线 | 久久成人一区二区三区 | 亚洲午夜精品久久久久久app | 亚洲精品久久久久久久久久久 | 亚洲一区中文字幕 | 国产男女猛烈无遮掩视频免费网站 | 久久成人一区 | 成人一区二区电影 | 免费一区| 国产一区二区激情视频 | 亚洲精品不卡 | 亚洲一区二区三区高清 | 91九色婷婷 | 久久精品91久久久久久再现 | 天天澡天天狠天天天做 | 九一在线 | 欧美日韩在线免费观看 | wwwsihu| 成人小视频在线观看 | 精品香蕉一区二区三区 | 久久精品1 | 欧美一区二区 | 久久综合九色综合欧美狠狠 | 天天操夜夜操免费视频 | 久久91 | 中文字幕在线观看 | 18av在线播放 | 美女黄网站视频免费 | 国产高清精品一区 | 日本免费黄色一级片 |