日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
一文學(xué)會(huì)制作6種炫酷的Python動(dòng)態(tài)圖

 很多時(shí)候,一張炫酷圖就足以勝過(guò)千言萬(wàn)語(yǔ)。對(duì)于數(shù)學(xué)科學(xué)家來(lái)說(shuō),當(dāng)想闡述自己的觀點(diǎn)、勞動(dòng)成果時(shí),我們需要直接有效的溝通。單調(diào)乏味的文本和數(shù)字,很難抓住別人的眼球,飄飄亮亮的可視化動(dòng)態(tài)圖是必不可少的,至少是一個(gè)加分項(xiàng)。

目前創(chuàng)新互聯(lián)建站已為上千的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站托管、服務(wù)器租用、企業(yè)網(wǎng)站設(shè)計(jì)、利川網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

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

1. 朝陽(yáng)圖

層次結(jié)構(gòu)數(shù)據(jù)通常存儲(chǔ)為矩形數(shù)據(jù)框,其中不同的列對(duì)應(yīng)于層次結(jié)構(gòu)的不同級(jí)別。px.sunburst可以采用path與列列表相對(duì)應(yīng)的參數(shù)。請(qǐng)注意,如果給出id,則parent不應(yīng)提供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. 桑基圖

?;鶊D通過(guò)定義可視化到流動(dòng)的貢獻(xiàn)源來(lái)表示源節(jié)點(diǎn),目標(biāo)為目標(biāo)節(jié)點(diǎn),數(shù)值以設(shè)置流volum,和標(biāo)簽,顯示了節(jié)點(diǎn)名稱,在流量分析中常用。

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

效果圖

3. 雷達(dá)圖

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

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

效果圖

4. 漏斗圖

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

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

效果圖

5. 3D表面圖

具有輪廓的曲面圖,使用contours屬性顯示和自定義每個(gè)軸的輪廓數(shù)據(jù)。

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

6. 動(dòng)畫圖

一些Plotly Express函數(shù)支持通過(guò)animation_frame和animation_group參數(shù)創(chuàng)建動(dòng)畫人物。這是使用Plotly Express創(chuàng)建的動(dòng)畫散點(diǎn)圖的示例。請(qǐng)注意,您應(yīng)始終修復(fù)x_range和,y_range以確保您的數(shù)據(jù)在整個(gè)動(dòng)畫中始終可見(jiàn)。

 
 
 
 
  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])

結(jié)論

可視化的圖形在日常工作中經(jīng)常實(shí)用,其中Plotly是用過(guò)的體驗(yàn)比較好的,本篇文章分享給大家一些案例,Plotly可視化遠(yuǎn)不止這些,在后續(xù)的文章中,涉及可視化部分的,將介紹更多酷炫的可視化圖形,喜歡點(diǎn)個(gè)在看分享,收藏以備不時(shí)之需。


當(dāng)前文章:一文學(xué)會(huì)制作6種炫酷的Python動(dòng)態(tài)圖
當(dāng)前網(wǎng)址:http://m.5511xx.com/article/cdjdigp.html