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

兩個簡單的代碼片段讓你的圖表動起來

開發 前端
我們以前也發過很多關于數據可視化的文章。但是對于展示來說,如果你的圖表能夠動起來,那么他的展示效果要比靜態的圖有更多的沖擊力,尤其是你需要向領導和客戶展示的時候。

本篇文章整列了2個簡單的代碼片段,可以讓你的圖表動起來。

動畫

Python中有許多用于繪制圖形的庫。Matplotlib, Seaborn, Bokeh, Plotly等等。

但是我們繪圖的目的是要向聽眾和要傳遞的信息。如果你的圖能夠動起來那么他們肯定會讓聽眾在看第一眼的時候就印象深刻。但是并不是每個圖形或數據集都適合動畫。一般情況下,動畫對時間序列來說非常有效。例如,根據時間變化進行數據的對比。

Plotly Express

Plotly Express,可以直接為我們創建動態圖表:

import plotly.express as px
import pandas as pd
import numpy as np

讓我們在數據集中創建一些值。

df = pd.DataFrame( {'week': np.random.randint(1,21, size=200),
'P1': np.random.randint(10,220, size=200),
'P2': np.random.randint(15,200, size=200),
'P3': np.random.randint(10,490, size=200),
'P4': np.random.randint(10,980, size=200) } )
df = pd.DataFrame( {'week': np.random.randint(1,21, size=200),
'P1': np.random.randint(10,220, size=200),
'P2': np.random.randint(15,200, size=200),
'P3': np.random.randint(10,490, size=200),
'P4': np.random.randint(10,980, size=200) } )

現在我們可以繪制一個動畫圖來查看產品按周的變化情況。

兩個簡單的代碼片段讓你的圖表動起來

創建散點圖動畫也同樣簡單。

fig = px.scatter(df, x="week", y="sales", animation_frame="week", animation_group="product", size="sales", color="product", hover_name="product", range_x=[0,20], range_y=[0,800])
fig.update_layout(height=600, width=1000)

兩個簡單的代碼片段讓你的圖表動起來

gif庫

如果你向我一樣是matplot和seaborn的粉絲,并且不太喜歡用Plotly的話,那么可以試試這個庫。這個庫的作用是創建一系列繪圖,并將它們放在一個幀序列中并創建一個動態的gif圖。

首先,還是獲取一些用于繪圖的時間序列數據。

import seaborn as sns
df = sns.load_dataset('flights')

接下來創建一個函數,該函數將為每個觀察創建一個繪圖。

@gif.frame
def plot_flights(df, i):
df = df.copy()
# Get the year for the plot title
yr = df['year'][i]
# Force X axis to be entirely plotted at once
df.iloc[i:] = np.nan
#Plot
ax = df.plot(x='month', y= 'passengers', legend=False,
style="o-", figsize=(20,10))
ax.set_title(f"Air Passengers {yr}", size=20)
ax.set_xlabel("Months")
ax.set_ylabel("Number of Passengers")

@gif.frame是GIF庫用來創建幀序列的裝飾器。

df.iloc[i:] = np.nan將把所有未來的數據轉換到NA。這是一種每次只繪制一個值的編程方式(i=0所有都為nan, i=1,只繪制索引0,i=2,只繪制0和1…),通過這種方法我們可以端到端繪制X軸,因為在動畫期間是不會改變的。這樣也可以保持圖表的大小不變,使其更容易觀看。

現在我們使用函數創建一個循環來創建幀。

frames = []
for i in range(df.shape[0]):
frame = plot_flights(df, i)
frames.append(frame)

最后,保存生成的GIF圖像。

gif.save(frames, 'gif_example.gif', duration=180)

兩個簡單的代碼片段讓你的圖表動起來

看,是不是很簡單

最后總結

動畫圖是一個很有影響力的展示方法,但是并不是所有的圖都適合動畫化。我們應該根據實際的情況來選擇是否需要創建動畫圖,因為動畫圖并不是深入分析的最佳選擇他只是在視覺上有一些更大的沖擊,所以當你需要觀察、比較和理解時也許靜態圖是更好的選擇。

要創建動圖,我建議您使用gif庫,因為對于這種圖形類型,它比plotly更簡單(因為我個人更喜歡seaborn,哈)。

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

2012-09-03 09:21:51

2015-12-01 13:51:52

Webrtc

2020-11-16 11:50:21

Python代碼命令

2009-06-19 11:18:51

Factory BeaSpring配置

2022-06-07 09:00:32

PythonAI靜態圖片

2019-05-21 14:18:09

PygamePython編程語言

2013-05-27 15:35:18

用友UAP移動應用移動平臺

2014-03-21 09:52:29

jQuery動畫插件

2011-06-01 14:51:54

jQuery

2021-09-26 09:23:01

GC算法垃圾

2010-09-08 09:48:56

Gif播放教程Android

2019-10-10 09:41:54

AI 數據人工智能

2021-08-02 23:19:06

微信小程序人工智能

2021-01-18 10:36:13

移動辦公首席信息官CIO

2022-02-24 08:30:24

操作系統CPU程序

2010-05-21 11:03:51

統一通信系統

2011-09-15 17:36:29

Android應用Call Cartoo動畫

2018-07-26 13:53:27

2020-06-09 15:18:48

數據庫Python技術

2024-01-19 13:45:00

Pandas代碼深度學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久aⅴ乱码一区二区三区 91综合网 | 精品国产乱码久久久久久图片 | 欧美一级片免费看 | 国产精品久久久久久妇女6080 | 日韩国产精品一区二区三区 | 精品免费国产一区二区三区四区介绍 | 国产精品高潮呻吟久久久久 | 欧美黄色网络 | 国产成人久久精品一区二区三区 | 91国在线观看 | 亚洲激情自拍偷拍 | 日韩欧美一区在线 | 精品国产乱码久久久久久蜜柚 | 久久久久久成人 | 国产在线精品一区二区三区 | 日韩欧美网 | 日本不卡高清视频 | 国产成人一区二区三区 | 国产分类视频 | 一级片av| 曰批视频在线观看 | 在线看片福利 | www日韩高清 | www久久99| 中文字幕成人av | 精品一区二区三区在线视频 | 精品久久久久久亚洲精品 | 日韩免费电影 | 国产成人一区二区三区 | 国产小视频精品 | 国产精品国产亚洲精品看不卡15 | 久久99精品久久久久蜜桃tv | 色爱综合网| 岛国精品 | 成人免费大片黄在线播放 | 欧美成人h版在线观看 | 九九久视频 | 日韩一区二区在线视频 | 久久精品国产一区老色匹 | 人人射人人插 | 欧美大片一区二区 |