全文共2153字,預(yù)計(jì)學(xué)習(xí)時(shí)長(zhǎng)4分鐘或更長(zhǎng)
用Matplotlib模擬雨
動(dòng)畫是呈現(xiàn)各種現(xiàn)象的有趣方式。在描述像過(guò)去幾年的股票價(jià)格、過(guò)去十年的氣候變化、季節(jié)性和趨勢(shì)等時(shí)間序列數(shù)據(jù)時(shí),與靜態(tài)圖相比,動(dòng)畫更能說(shuō)明問(wèn)題。因?yàn)椋瑥膭?dòng)畫中,我們可以看到特定參數(shù)是如何隨時(shí)間而變化的。
上圖是模擬雨的圖像。此圖由Matplotlib繪圖庫(kù)繪制而成,該繪圖庫(kù)常常被認(rèn)為是python可視化數(shù)據(jù)包的原始數(shù)據(jù)組。Matplotlib通過(guò)50個(gè)分散點(diǎn)的比例和不透明度來(lái)模擬雨滴落在平面上的情景。如今,Plotly、Bokeh、Altair等一系列可視化工具均為Python中強(qiáng)大的可視化工具。這些庫(kù)可實(shí)現(xiàn)最先進(jìn)的動(dòng)畫和交互動(dòng)作。但是,本文重點(diǎn)在于研究數(shù)據(jù)庫(kù)的一個(gè)方面——?jiǎng)赢嫛M瑫r(shí),我們也將關(guān)注實(shí)現(xiàn)動(dòng)畫的方法。
概述Matplotlib是一個(gè) Python 的 2D繪圖庫(kù),也是Python中最受歡迎的繪圖數(shù)據(jù)庫(kù)。大多數(shù)人在踏上數(shù)據(jù)可視化之旅時(shí),都是首選Matplotlib。這是因?yàn)樗珊?jiǎn)單地生成繪圖,直方圖、功率譜、條形圖、錯(cuò)誤圖、散點(diǎn)圖等。不僅如此,它還無(wú)縫連接了Pandas、Seaborn等數(shù)據(jù)庫(kù),甚至創(chuàng)建出更為復(fù)雜的可視化數(shù)據(jù)。
Matplotlib有幾大優(yōu)點(diǎn):
· 其構(gòu)造和MATLAB(矩陣實(shí)驗(yàn)室)類似,所以兩者間易于切換
· 包含許多后端渲染
· 可以快速生成繪圖
· 已存在數(shù)十年以上,因此,有大量的用戶基礎(chǔ)
但是,Matplotlib除了這些優(yōu)點(diǎn)之外,也有許多不足之處:
· Matplotlib常常不可避免地存在冗繁的API(應(yīng)用程序編程接口)
· 有時(shí)默認(rèn)樣式設(shè)計(jì)不如人意
· 對(duì)web和交互式圖表的支持較低
· 處理大型及復(fù)雜的數(shù)據(jù)時(shí)速度常常較慢
對(duì)于進(jìn)修者來(lái)說(shuō),Datacamp中有關(guān)于Matplotlib的必備知識(shí)可以幫助提高基礎(chǔ)知識(shí)。
動(dòng)畫Matplotlib的動(dòng)畫基類負(fù)責(zé)處理動(dòng)畫部分。其可提供構(gòu)建動(dòng)畫功能的框架。有兩個(gè)主要接口來(lái)實(shí)現(xiàn)此功能:
FuncAnimation:通過(guò)反復(fù)觸發(fā)func.功能創(chuàng)建動(dòng)畫。
ArtistAnimation:利用已定義的Artist對(duì)象創(chuàng)建動(dòng)畫。
但是,在上述兩種接口中,F(xiàn)uncAnimation更為方便。我們專注于FuncAnimation工具的研究。
要求
· 安裝numpy和matplotlib模塊。
· 安裝符合要求的 ffmpeg 或imagemagick方可將動(dòng)畫以mp4或gif的形式儲(chǔ)存。
一切準(zhǔn)備就緒,就可以開始在JupyterNotebooks中制作第一個(gè)基本動(dòng)畫了。本文的訪問(wèn)密碼可在GithubRepository中獲取。
基本動(dòng)畫:移動(dòng)的正弦波
在電腦中,利用FuncAnimation創(chuàng)建正弦波的基本動(dòng)畫。動(dòng)畫源代碼可在Matplotlib動(dòng)畫教程中獲取。先來(lái)看看輸出代碼,然后將其破譯,并了解其中奧妙。
import numpy as npfrom matplotlib import pyplot as pltfrom matplotlib.animation import FuncAnimationplt.style.use('seaborn-pastel')fig = plt.figure()ax = plt.axes(xlim=(0, 4), ylim=(-2, 2))line, = ax.plot([], [], lw=3)def init(): line.set_data([], []) return line,def animate(i): x = np.linspace(0, 4, 1000) y = np.sin(2 * np.pi * (x - 0.01 * i)) line.set_data(x, y) return line,anim = FuncAnimation(fig, animate, init_func=init, frames=200, interval=20, blit=True)anim.save('sine_wave.gif', writer='imagemagick')· 在第7行到第9行,簡(jiǎn)單地創(chuàng)建一個(gè)圖形窗口,圖中只有一個(gè)軸。然后,創(chuàng)建無(wú)內(nèi)容的行對(duì)象,其本質(zhì)上是在動(dòng)畫中可修改的對(duì)象。稍后用數(shù)據(jù)來(lái)填充行對(duì)象。
· 在第11行到13行,創(chuàng)建init函數(shù),觸發(fā)動(dòng)畫發(fā)生。此函數(shù)初始化數(shù)據(jù),并限定軸范圍。
· 最后,在第14行到第18行,定義動(dòng)畫函數(shù),該函數(shù)以幀數(shù)(i)作為參數(shù),并創(chuàng)建一個(gè)正弦波(或任意其他的動(dòng)畫),而其移動(dòng)取決于i的值。此函數(shù)返回一個(gè)已修改的plot對(duì)象的元組,告知?jiǎng)赢嬁蚣躳lot中哪些部分需要?jiǎng)赢嫽?/p>
· 在第20 行,創(chuàng)建實(shí)際的動(dòng)畫對(duì)象。Blit參數(shù)確保只重新繪制已更改的部分。
· 這是在Matplolib中創(chuàng)建動(dòng)畫的基本知識(shí)。只需對(duì)代碼稍作調(diào)整,就可以創(chuàng)建出一些有趣的可視化。接下來(lái)看看其中一些可視化的例子吧。
一個(gè)不斷擴(kuò)大的線圈同樣,在GreeksforGreeks中,有一個(gè)創(chuàng)建圖形的好例子。我們一起在animation模塊的幫助下創(chuàng)造一個(gè)緩慢展開的活動(dòng)線圈。該代碼和正弦波圖極為相似,只有一些小調(diào)整。
import matplotlib.pyplot as plt import matplotlib.animation as animation import numpy as np plt.style.use('dark_background')fig = plt.figure() ax = plt.axes(xlim=(-50, 50), ylim=(-50, 50)) line, = ax.plot([], [], lw=2) # initialization function def init(): # creating an empty plot/frame line.set_data([], []) return line, # lists to store x and y axis points xdata, ydata = [], [] # animation function def animate(i): # t is a parameter t = 0.1*i # x, y values to be plotted x = t*np.sin(t) y = t*np.cos(t) # appending new points to x, y axes points list xdata.append(x) ydata.append(y) line.set_data(xdata, ydata) return line, # setting a title for the plot plt.title('Creating a growing coil with matplotlib!') # hiding the axis details plt.axis('off') # call the animator anim = animation.FuncAnimation(fig, animate, init_func=init, frames=500, interval=20, blit=True) # save the animation as mp4 video file anim.save('coil.gif',writer='imagemagick') 實(shí)時(shí)更新圖繪制股票數(shù)據(jù)、傳感器數(shù)據(jù)等其他與時(shí)間相關(guān)的動(dòng)態(tài)數(shù)據(jù)時(shí),實(shí)時(shí)更新圖就會(huì)派上用場(chǎng)。我們繪制一個(gè)基圖,在更多的數(shù)據(jù)被輸入系統(tǒng)后,基圖就會(huì)自動(dòng)更新。現(xiàn)在,來(lái)繪制某假定公司某月內(nèi)的股價(jià)圖。
#importing librariesimport matplotlib.pyplot as pltimport matplotlib.animation as animationfig = plt.figure()#creating a subplot ax1 = fig.add_subplot(1,1,1)def animate(i): data = open('stock.txt','r').read() lines = data.split('\n') xs = [] ys = [] for line in lines: x, y = line.split(',') # Delimiter is comma xs.append(float(x)) ys.append(float(y)) ax1.clear() ax1.plot(xs, ys) plt.xlabel('Date') plt.ylabel('Price') plt.title('Live graph with matplotlib')ani = animation.FuncAnimation(fig, animate, interval=1000) plt.show()現(xiàn)在,打開終端并運(yùn)行python文件,可以得到如下所示可自動(dòng)更新的圖表:
其更新的時(shí)間間隔是1000毫秒或一秒。
3D圖中的動(dòng)畫創(chuàng)建3D圖形十分常見,但是如果可以將這些圖形視角動(dòng)畫化呢?其方法是,在改變相機(jī)視圖后,利用生成后的所有圖像來(lái)創(chuàng)建動(dòng)畫。而在PythonGraph Gallery(Python圖形庫(kù))中有個(gè)專門的部分可以完成這類工作。
首先創(chuàng)建一個(gè)名為volcano的文件夾,放在與記事本相同的目錄中。然后,將所有會(huì)用于動(dòng)畫化的圖形儲(chǔ)存在該文件夾中。
# libraryfrom mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport pandas as pdimport seaborn as sns# Get the data (csv file is hosted on the web)url = 'https://python-graph-gallery.com/wp-content/uploads/volcano.csv'data = pd.read_csv(url)# Transform it to a long formatdf=data.unstack().reset_index()df.columns=["X","Y","Z"]# And transform the old column name in something numericdf['X']=pd.Categorical(df['X'])df['X']=df['X'].cat.codes# We are going to do 20 plots, for 20 different anglesfor angle in range(70,210,2):# Make the plot fig = plt.figure() ax = fig.gca(projection='3d') ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.viridis, linewidth=0.2) ax.view_init(30,angle) filename='Volcano/Volcano_step'+str(angle)+'.png' plt.savefig(filename, dpi=96) plt.gca()這樣就可以在Volcano文件夾中創(chuàng)建多個(gè)PNG文件。接著,利用ImageMagick(一個(gè)創(chuàng)建、編輯、合成圖片的軟件)將這些PNG文件轉(zhuǎn)化成動(dòng)畫。打開終端并導(dǎo)向Volcano文件夾,輸入以下指令:
convert -delay 10 Volcano*.pnganimated_volcano.gif 利用Celluloid模塊動(dòng)畫化Celluloid是python中的一個(gè)模塊,其在matplotlib中可簡(jiǎn)化創(chuàng)建動(dòng)畫的進(jìn)程。這個(gè)庫(kù)創(chuàng)建一個(gè)matplotlib圖并從中創(chuàng)建相機(jī)。然后,重新啟用該圖,并在創(chuàng)建每幀動(dòng)畫后,用上述相機(jī)拍快照。最后,利用所有捕捉到的幀創(chuàng)建動(dòng)畫。
安裝
pip install celluloid下面是利用Celluloid模塊的例子:
極小值
from matplotlib import pyplot as pltfrom celluloid import Camerafig = plt.figure()camera = Camera(fig)for i in range(10): plt.plot([i] * 10) camera.snap()animation = camera.animate()animation.save('celluloid_minimal.gif', writer = 'imagemagick')子圖
import numpy as npfrom matplotlib import pyplot as pltfrom celluloid import Camerafig, axes = plt.subplots(2)camera = Camera(fig)t = np.linspace(0, 2 * np.pi, 128, endpoint=False)for i in t: axes[0].plot(t, np.sin(t + i), color='blue') axes[1].plot(t, np.sin(t - i), color='blue') camera.snap()animation = camera.animate() animation.save('celluloid_subplots.gif', writer = 'imagemagick')圖例
import matplotlibfrom matplotlib import pyplot as pltfrom celluloid import Camerafig = plt.figure()camera = Camera(fig)for i in range(20): t = plt.plot(range(i, i + 5)) plt.legend(t, [f'line {i}']) camera.snap()animation = camera.animate()animation.save('celluloid_legends.gif', writer = 'imagemagick')留言 點(diǎn)贊 關(guān)注
我們一起分享AI學(xué)習(xí)與發(fā)展的干貨
歡迎關(guān)注全平臺(tái)AI垂類自媒體 “讀芯術(shù)”
當(dāng)然用Bi,雖然我很會(huì)Python、R、Javascript,但是好看的數(shù)據(jù)可視化基本是用Bi來(lái)完成的
以下是一些經(jīng)典的 BI 展示:
不得不承認(rèn),BI 給人的第一印象,的確是漂亮的圖表。
在實(shí)際開發(fā)中,整合數(shù)據(jù)源、清理數(shù)據(jù)等步驟往往并非由 BI 進(jìn)行處理,具體分工見下圖:
正如上圖所示,BI 往往與數(shù)據(jù)倉(cāng)庫(kù)技術(shù)、olap 引擎有著直接的上下游關(guān)系。其中數(shù)據(jù)倉(cāng)庫(kù)主要起到統(tǒng)一數(shù)據(jù)源、保證數(shù)據(jù)準(zhǔn)確度的作用;而 OLAP 引擎則幫助 BI 加速查詢。它們組合在一起,最終使用戶獲得良好的數(shù)據(jù)分析體驗(yàn)。
3、BI 能做什么
BI 對(duì)企業(yè)的作用是通過(guò)兩方面實(shí)現(xiàn)的,業(yè)務(wù)方面和技術(shù)方面。
3.1 業(yè)務(wù)方面
數(shù)據(jù)呈現(xiàn)我們可以通過(guò) BI 直觀、全面的展現(xiàn)企業(yè)日常業(yè)務(wù)的情況;無(wú)論是從整個(gè)集團(tuán)的視角出發(fā)、還是從業(yè)務(wù)線或者部門的角度出發(fā)。下圖即為一個(gè)標(biāo)準(zhǔn)的 數(shù)據(jù)呈現(xiàn)(大屏)BI。決策層可以通過(guò)該圖表快速、直觀的了解到目前公司的會(huì)員數(shù)量和相關(guān)的銷售額——這也往往是決策層最關(guān)心的兩個(gè)指標(biāo)為了保證數(shù)據(jù)更新的實(shí)時(shí)性和展示的美觀性,純粹的數(shù)據(jù)呈現(xiàn)往往并不支持聯(lián)動(dòng)、下鉆、上卷等 BI 常見操作。
聯(lián)動(dòng)、下鉆、上卷都是 BI 的專業(yè)術(shù)語(yǔ),未來(lái)會(huì)逐一介紹。
異常監(jiān)測(cè)專業(yè)的業(yè)務(wù)人員會(huì)有一些核心指標(biāo)來(lái)監(jiān)控業(yè)務(wù),我們完全可以將其通過(guò) BI 實(shí)行可視化監(jiān)控;下圖即為 某在線教育對(duì)每日課程銷量的監(jiān)測(cè),運(yùn)營(yíng)人員通過(guò) BI 可以迅速發(fā)覺異常變化,從而及時(shí)作出調(diào)整。智能預(yù)測(cè)在大數(shù)據(jù)的基礎(chǔ)上,BI 也能基于簡(jiǎn)單的統(tǒng)計(jì)學(xué),提供一些擬合線,來(lái)幫助業(yè)務(wù)人員進(jìn)行相關(guān)分析。下圖即 對(duì)某超市銷售額進(jìn)行預(yù)測(cè)。特定建模分析特定的建模分析通常是由精通業(yè)務(wù)的業(yè)務(wù)人員提出,通過(guò)合理的建模找出業(yè)務(wù)中可能存在的問(wèn)題,將其反映出來(lái)并最終回歸到業(yè)務(wù),形成閉環(huán)決策并不斷優(yōu)化的一個(gè)過(guò)程。業(yè)務(wù)建模可簡(jiǎn)單,可由一個(gè)或多個(gè)圖表組成,也可復(fù)雜,通過(guò)一組或多組數(shù)據(jù)圖表支撐。如下圖,即為對(duì)客戶銷售額建立的模型。通過(guò)該模型,業(yè)務(wù)人員能夠快捷的了解到目前 CRM 的客戶情況。幫助業(yè)務(wù)進(jìn)行快速智能分析盡管 BI 能滿足大部分常見需求,但資深的業(yè)務(wù)人員總會(huì)有一些突如其來(lái)的靈感。這種靈感稍縱即逝,如果等到數(shù)據(jù)部門提供數(shù)據(jù)再進(jìn)行分析——可能為時(shí)已晚。如果有BI的話,業(yè)務(wù)人員可以立刻基于業(yè)務(wù)數(shù)據(jù)進(jìn)行靈活分析,從而驗(yàn)證想法。3.2 技術(shù)層面
減少人工處理,提升工作效率某些指標(biāo)對(duì)每家公司都是非常重要的,無(wú)論該公司是否存在 BI、數(shù)據(jù)部門。例如 毛利、成本、客戶。在沒有 BI 的情況下,如果公司想要收集匯總這些指標(biāo)信息,大多數(shù)時(shí)候都需要業(yè)務(wù)人員手動(dòng)從各個(gè)系統(tǒng)提取數(shù)據(jù),然后在 exc 上匯總——這個(gè)過(guò)程無(wú)疑是冗長(zhǎng)、枯燥且毫無(wú)價(jià)值的。同時(shí),還容易產(chǎn)生以下問(wèn)題:如果有了 BI 和對(duì)應(yīng)的數(shù)據(jù)底層,就可以自動(dòng)化生成相關(guān)報(bào)表。智能報(bào)表 也屬于廣義上的 BI數(shù)據(jù)準(zhǔn)確性無(wú)法保證:手工計(jì)算,就有可能出錯(cuò)。無(wú)法避免數(shù)據(jù)及時(shí)性無(wú)法保證:手工計(jì)算的效率由使用者決定,無(wú)法控制修改復(fù)雜:任何業(yè)務(wù)的新增、修改。都需要對(duì)復(fù)雜的 exc 公式進(jìn)行修改。結(jié)果倒逼,統(tǒng)一指標(biāo)口徑成熟的公司必然有一套統(tǒng)一的指標(biāo)口徑;但在其野蠻生長(zhǎng)中,指標(biāo)、維度可能會(huì)缺乏統(tǒng)籌規(guī)劃,從而產(chǎn)生一些遺留問(wèn)題。舉個(gè)例子:庫(kù)存、銷售、運(yùn)營(yíng)口中的"銷售額"往往不是同一個(gè)"銷售額"。最常見的口徑不一致問(wèn)題,就是時(shí)間口徑不同;銷售額可以依照 下單時(shí)間,支付時(shí)間,發(fā)貨時(shí)間,收貨時(shí)間,完成訂單時(shí)間 等不同角度進(jìn)行分析。在沒有統(tǒng)一口徑的情況下必然會(huì)出現(xiàn)誤解。BI 的使用者必然包括決策層。因此,指標(biāo)必然會(huì)以決策層認(rèn)可的口徑為主,從而消除爭(zhēng)議。整合信息孤島,統(tǒng)一分析平臺(tái)數(shù)據(jù)倉(cāng)庫(kù)是每家公司都應(yīng)有的東西,但實(shí)際上大部分公司并不完善;但分析、統(tǒng)計(jì)的需求并不會(huì)因?yàn)闆]有數(shù)倉(cāng)而停滯。這個(gè)時(shí)候,BI 就可以啟動(dòng)匯總數(shù)據(jù)源進(jìn)行統(tǒng)一分析的效果并不推薦長(zhǎng)久使用 BI 作為數(shù)據(jù)匯總層。3.3 總結(jié):
正如上述描述,BI 更多的是從業(yè)務(wù)方出發(fā),幫助業(yè)務(wù)解決問(wèn)題。它將繁雜的數(shù)據(jù)庫(kù)底層進(jìn)行整理匯總,形成有效的指標(biāo)維度,讓 BI 使用者可以直觀、清楚地看到他所關(guān)注的數(shù)據(jù),從而幫助整個(gè)企業(yè)更好的發(fā)展。在數(shù)據(jù)的自由探索中找到原因,避免“拍腦袋”式的決策。這就是 BI 的作用,而非僅僅的數(shù)據(jù)報(bào)表呈現(xiàn)。
4、BI 的應(yīng)用場(chǎng)景
BI 應(yīng)用場(chǎng)景廣泛,以下逐一枚舉。
大屏大屏就是我們?cè)?街頭、展覽會(huì)上常見的超大屏幕,其上大多充滿了含義不明的圖表。舉幾個(gè)例子大屏的最大特點(diǎn) 就是炫。據(jù)筆者觀察,其上的數(shù)據(jù)大多都是“虛榮指標(biāo)”——除了好看外一無(wú)是處。但換個(gè)角度,對(duì)外宣傳時(shí),需要的就是好看。
設(shè)想一下,假設(shè)超市、醫(yī)院、 會(huì)議室能有一個(gè)大屏。會(huì)吸引多少目光的注意力;增加多少回頭客。
大屏的開發(fā),有以下幾點(diǎn)需要注意:
因?yàn)檎故拘Ч葐?wèn)題,大屏相比其他 BI,缺少交互性,無(wú)法進(jìn)行聯(lián)動(dòng)、鉆取等操作。硬件成本較高——大屏很貴BI 開發(fā)成本較高——需根據(jù)硬件實(shí)際大小進(jìn)行反復(fù)調(diào)試,才能保證最終結(jié)果的展示。數(shù)據(jù) 要求較高——主要是指數(shù)據(jù)的實(shí)時(shí)性;駕駛艙BI 駕駛艙是一個(gè)核心指標(biāo)匯總系統(tǒng),將公司的核心指標(biāo)進(jìn)行可視化展示,幫助決策層能通過(guò)1圖直接了解到整個(gè)企業(yè)的運(yùn)營(yíng)情況,也可以下鉆到各個(gè)細(xì)分業(yè)務(wù)中了解詳細(xì)數(shù)據(jù)。因?yàn)槊嫦驅(qū)ο笾饕獮槠髽I(yè)高層,因此駕駛艙的數(shù)據(jù)準(zhǔn)確度、美觀度一般都是最高的。相對(duì)而言,開發(fā)成本也是最高的;
相比大屏來(lái)說(shuō),駕駛艙可以自由下鉆到任意主題的詳細(xì)看板中。分析性更強(qiáng)
駕駛艙則要注意這些:
數(shù)據(jù)準(zhǔn)確性非常高——它不像大屏,錯(cuò)了也沒有人知道。駕駛艙對(duì)接公司決策層,不允許有任何的數(shù)據(jù)誤差。美觀度——領(lǐng)導(dǎo)要看的東西,你自然要花點(diǎn)功夫去精心調(diào)試。看板看板(dashborad)即為最基礎(chǔ)的 BI 展現(xiàn)方式。相比 大屏、駕駛艙而言,dashboard 并不那么浮夸,它的主要使用對(duì)象為一般的管理人員和運(yùn)營(yíng)人員。一般來(lái)說(shuō),看板也可以自由的鉆取、聯(lián)動(dòng)。從而幫助業(yè)務(wù)人員進(jìn)行更好的分析。移動(dòng)端部分 BI 產(chǎn)品也支持移動(dòng)端展示,內(nèi)容一般為核心指標(biāo)。移動(dòng)端開發(fā)時(shí),需要特別注意不同手機(jī)的適配度。必要情況下,可以拿用戶的實(shí)際手機(jī)款式做針對(duì)性調(diào)整。
自助分析并非所有的儀表板,都一定由數(shù)據(jù)部門來(lái)開發(fā)完成。有能力的業(yè)務(wù)人員更希望自己可以隨時(shí)進(jìn)行制作,而不受數(shù)據(jù)部門的約束。因此在數(shù)據(jù)部門提供數(shù)據(jù)底層的情況時(shí),業(yè)務(wù)部門也會(huì)親自上陣進(jìn)行開發(fā)。5、BI 的開發(fā)方式
BI 的開發(fā),與常見的項(xiàng)目開發(fā)并無(wú)兩樣
確認(rèn)需求——需求分析——指標(biāo)維度梳理——源數(shù)據(jù)和數(shù)據(jù)質(zhì)量確認(rèn)——結(jié)果表設(shè)計(jì)——ETL 開發(fā)——可視化實(shí)現(xiàn)。
有幾個(gè)重點(diǎn)需要注意:
第一步要確定 BI 的最終使用者,直接與使用者溝通會(huì)節(jié)省大量的時(shí)間。需求分析結(jié)束后,一定要與最終使用者進(jìn)行文檔確認(rèn),確保雙方理解一致。不要輕易相信源頭提供的數(shù)據(jù),獲取到數(shù)據(jù)后自己一定要初步檢查,確保數(shù)據(jù)質(zhì)量。demo 先行——盡早確定使用者想要的BI樣式,免得反復(fù)調(diào)試?yán)速M(fèi)時(shí)間。6、部分BI介紹
6.1 Tableau
Tableau 毫無(wú)疑問(wèn)的市場(chǎng)王者,也是目前全球最易于上手的報(bào)表分析工具,并且具備強(qiáng)大的統(tǒng)計(jì)分析擴(kuò)展功能。它能夠根據(jù)用戶的業(yè)務(wù)需求對(duì)報(bào)表進(jìn)行遷移和開發(fā),實(shí)現(xiàn)業(yè)務(wù)分析人員獨(dú)立自助、簡(jiǎn)單快速、以界面拖拽式的操作方式對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行聯(lián)機(jī)分析處理、即時(shí)查詢等功能。
但 Tabealu 也有自己的缺點(diǎn):最大的缺點(diǎn)就是價(jià)格過(guò)于昂貴。對(duì)于大部分公司來(lái)說(shuō),如此昂貴的 Tableau 性價(jià)比并不高。
6.2 FineReport
帆軟是目前國(guó)內(nèi)最大的 BI 廠商,合作廠商也相當(dāng)多;產(chǎn)品線也遍及大屏、移動(dòng)端、智能報(bào)表。可以說(shuō)是最適合中國(guó)中小型企業(yè)的 BI 了。
FineReport 本是一個(gè)智能報(bào)表軟件,但由于集成了大量圖表,相比其他 BI 開發(fā)效率雖然稍慢,但是自由度更高。
6.3 Superset
Superset 是一款由 Airbnb 開源的“現(xiàn)代化的企業(yè)級(jí) BI (商業(yè)智能) Web 應(yīng)用程序”,其通過(guò)創(chuàng)建和分享 dashboard,為數(shù)據(jù)分析提供了輕量級(jí)的數(shù)據(jù)查詢和可視化方案。
Superset 的缺點(diǎn)就比較多了
沒有提供圖表的下鉆功能不支持多圖表間的復(fù)雜聯(lián)動(dòng)處理大數(shù)據(jù)集時(shí)容易暴斃權(quán)限管理和圖表管理的功能設(shè)計(jì)基本為0但它是開源的——你無(wú)法要求一個(gè)東西又免費(fèi)又好用,因此技術(shù)能力較強(qiáng)的公司可以考慮。
7、其他雜談
正如開題所言, BI 并非簡(jiǎn)單的數(shù)據(jù)可視化,而是一套極度復(fù)雜的商業(yè)解決方案;
如何做到企業(yè)數(shù)據(jù)化?數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)?數(shù)據(jù)治理?
僅憑幾個(gè)EXC是遠(yuǎn)遠(yuǎn)不能滿足的——只有建立起良好的 BI 生態(tài)體系,企業(yè)才能真正邁入數(shù)據(jù)化。
另一方面,BI 的表象是可視化分析報(bào)表的呈現(xiàn),但它的本質(zhì)還是業(yè)務(wù)問(wèn)題、管理問(wèn)題。
如何通過(guò) BI ,使得業(yè)務(wù)、管理能夠不斷優(yōu)化,這才是值得我們深度思考的
需要打開文件管理器應(yīng)用目錄文件夾導(dǎo)入圖片
老數(shù)據(jù)人了,用python做過(guò)挺多自己覺得有意思的東西
用python看抖音用戶畫像
發(fā)現(xiàn)城市方面,廣東、江蘇刷的最多
星座方面,摩羯天蝎座的人刷得最多
還用python分析過(guò)北京、廣州房地產(chǎn)市場(chǎng)的房?jī)r(jià),得出自己都買不起的結(jié)論...
代碼運(yùn)行幾分鐘就提取下22170套廣州二手房數(shù)據(jù),簡(jiǎn)單清洗后部分?jǐn)?shù)據(jù)展示如下:
2020年1月至6月廣州二手房量?jī)r(jià)走勢(shì)
2020年1月至6月廣州二手房成交TOP20樓盤
用python爬了貓眼數(shù)據(jù),找到了2021最爛的電影
利用python制作一個(gè)詞云圖
一部打著開心麻花團(tuán)隊(duì)旗號(hào)的電影,玩起了詐騙式營(yíng)銷,喜獲貓眼評(píng)分3.2。
貓眼3.2分,是什么概念?
這么說(shuō)吧,畢志飛導(dǎo)演的神作——《逐夢(mèng)演藝圈》即使在豆瓣上逼近2分!
但貓眼評(píng)分還有6.8分呢。