从青铜到王者,进阶数据可视化2.0的五个Python库!-Python教程

资源魔 32 0

数据可视化的对象以及顺序库曾经极年夜丰硕,当你习气此中一种或数种时,你会干患上很超卓,然而假如你因而而自鸣得意,就会错失从青铜到王者的新对象以及顺序库。假如你依然坚持应用Matplotlib(这太神秘了),Seaborn(这也很神秘),Pandas(根本,简略的可视化)以及Bokeh,那末你真的需求停上去理解一下新事物了。例如,python中有许多使人齰舌的可视化库,并且通用化水平曾经很高,例以下面这五个:

Plotly

Cufflinks

Folium

Altair + Vega

D3.js(集体以为最佳的抉择,由于我也用JS写代码)

假如您理解并应用下面提到的库,那末您就处于进化的正确轨道上。它们能够协助天生一些使人拍案的可视化成果,语法也没有难。普通来讲,我更喜爱Plotly+Cufflinks以及 D3.js. 如下具体道来:

Plotly

Plotly是一个开源,交互式以及基于阅读器的Python图形库。能够创立能正在仪表板或网站中应用的交互式图表(您能够将它们保留为html文件或动态图象)。Plotly基于plotly.js,而plotly.js又基于D3.js,因而它是一个初级图表库,与Bokeh同样,Plotly的 强项是制造交互式图 ,有超越30种图表类型, 提供了一些正在年夜少数库中不的图表 ,如等高线图、树状图、迷信图表、统计图表、3D图表、金融图表等。 plotly最棒的一点是能够正在Jupyter条记本或自力的HTML页面中应用 。您也能够正在他们的网站上正在线应用它,但我更喜爱离线应用它,您也能够将可视化保留为图象,十分易于应用也十分适用。

– 正在Jupyter Notebook中应用Plotly的办法(离线)

起首,装置plotly库。

pip install plotly

而后关上jupyter条记本并键入:

from plotly import __version__ 
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot init_notebook_mode(connected = True)

语法超简略!正在Pandas中 ,你应用dataframe.plot() ,正在这里,您应用 dataframe.iplot()。 这个“ i ” 扭转了可视化的整个界说。

只要一行代码,我天生了上面这个散点图。您能够依据需求自界说它。请记住指定模式标志,不然您将取得一些线条。

1567070079(1).png

请留意,跟着数据的添加,plotly会开端卡滞。以是,只有当数据点的小于500K时,我才会应用plotly。

相干保举:《Python视频教程》

Cufflinks

Cufflinks将Plotly间接绑定到pandas数据帧。这类组合十分惊人,连系了Pandas的灵敏性,比Plotly更无效,语法乃至比plotly简略。应用plotly的Python库,您能够应用DataFrame的系列以及索引来形容图形,然而应用Cufflinks能够间接绘制它。正以下面这个例子:

df = cf.datagen.lines()py.iplot([{  'x':df.index, 'y':df [col], 'name':col } 
<strong>for</strong> col <strong>in</strong> df.columns])

1567070109(1).png

with plotly

df.iplot(kind= 'scatter')

1567070127(1).png

with cufflinks

Cufflinks使患上图表绘制愈加容易。您乃至还 能够应用Cufflinks天生使人齰舌的3D图表 。我只用几行代码天生了上面这个3D图表。

1567070149(1).png

用Cufflinks天生的3D图表

你能够随时正在Jupyter Notebook中试用它。

– 疾速诀窍:

正在设置装备摆设中设置:

c.NotebookApp.iopub_data_rate_limit = 1.0e10

按如下形式导入:

import plotly.graph_objs as go
import plotly.plotly as py 
import cufflinks as cf 
from plotly.offline import iplot,init_notebook_mode 
cf.go_offline()
#Set global theme 
cf.set_config_file(world_readable = True,theme ='pearl',offline = True )
init_notebook_mode()

接上去,我将议论另外一个神库——Viz库。

Folium

Folium建设正在Python生态零碎的数据劣势以及Leaflet.js库的映照劣势之上。您能够正在python中操作数据,而后经过folium正在Leaflet舆图中将其可视化。Folium是一个用于绘制空间数据的“神库”。你还能够应用folium天生热图以及等值区域图。让咱们理解一下folium:

舆图界说为 folium.Map 工具,可正在folium顶部增加其余folium工具。

您能够为Folium衬着的舆图应用没有同的舆图图层,例如MapBox,OpenStreetMap以及其余几个图层,你能够查看 此github库文件夹 或 此文档页面 。

你还能够抉择没有同的舆图投影。有许多投影可供抉择。

让咱们用美国就业的Geojson天生一个Choropleth舆图。如下是片断:

map = folium.Map([43, -100], zoom_start=4)
choropleth = folium.Choropleth( geo_data=us_states, data=state_data, 
columns=['State', 'Unemployment'], key_on='feature.id', fill_color='YlGn', name='Unenployment', 
show=<strong>False</strong>,).add_to(m)
<em>
# 底层的GeoJson以及StepColormap工具是可拜访的
</em>
print(type(choropleth.geojson))
print(type(choropleth.color_scale))
folium.LayerControl(collapsed=<strong>False</strong>).add_to(m)
map.save(os.path.join('results', 'GeoChoro.html'))
map

这只是一个根本的舆图,你能够增加标志,弹出窗口等等。能够是上面的leaflet以及folium天生的舆图。

1567070165(1).png

Altair + Vega

Altair是一个申明性统计可视化库,基于Vega以及Vega-Lite。

申明象征着只要要提供数据列与编码通道之间的链接,例如x轴,y轴,颜色等,其他的画图细节它会主动解决。申明使Altair变患上简略,敌对以及分歧。应用Altair能够轻松设计出无效且雅观的可视化代码。

Altair使您可以应用弱小而简约的可视化语法疾速开发各类统计可视化图表。假如您应用的是Jupyter Notebook,则需求按如下形式装置它。它还包罗一些示例vega数据集。

pip install -U altair vega_datasets notebook vega

Altair次要依赖Vega,为了使图表正在屏幕上可见,你需求装置Vega,而且还需求为每一个新会话运转此饬令:

alt.renderers.enable(‘notebook’)

Altair中的数据是环抱Pandas Dataframe构建的。统计可视化最显著的特色是以整洁的Dataframes开端。您还能够将画图另存为图象或正在vega编纂器中关上它以取得更多选项。Altair可能没有是最佳的,但相对值患上一试。

上面这个例子,我应用了汽车数据集;

import altair as altfrom vega_datasets 
import datasource = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart().mark_point().encode( x='Horsepower:Q', y='Miles_per_Gallon:Q', 
color=alt.condition(brush, 'Origin:N', alt.value('lightgray'))).add_selection( brush)
bars = alt.Chart().mark_bar().encode( y='Origin:N', color='Origin:N', 
x='count(Origin):Q').transform_filter( brush)
alt.vconcat(points, bars, data=source)

1567070184(1).png

Altair以及Vega天生的扩散图以及直方图

D3.js(数据驱动文档DDD)

D3.js是一个JavaScript库,依据数据操作文档。您能够应用HTML,SVG以及CSS将数据变为惟妙惟肖的图表。D3其实不要求您将本人绑定到任何专有框架,由于古代阅读器领有D3所需的所有,它还用于组合弱小的可视化组件以及数据驱动的DOM操作办法。

D3.js是今朝市场上最佳的数据可视化库。 您能够将它与python一同应用,也能够与R一同应用。最后,它能够与JavaScript一同应用,由于JS具备宽泛的性能而且需求年夜量的学习以及经历,然而假如你是JS业余职员则没有需求犹疑。尽管 Python 以及 R 使D3.js变患上更简略,但只是一点点!总之D3.js是相对没有会错的上佳之选。

D3py有3个次要依赖项:

NumPy

Pandas

NetworkX

我倡议你应用JavaScript或R,而没有是python,由于版本曾经过期,最初一次更新是正在2016年。并且只是D3.js的一个瘦的python包装器。

R提供D3可视化接口。应用 r2d3 ,您能够将数据从R绑定到D3可视化。应用 r2d3 创立的D3可视化就像RStudio,R Markdown文档以及Shiny使用顺序中的R图同样工作。您能够按以下形式从CRAN 装置 r2d3 软件包:

install.packages(“r2d3”)

你能够做一些惊人的可视化,例以下面这几个:

1567070205(1).png

Sequences Sunburst — Kerry Rodden’s Block (Source)

1567070220(1).png

以上就是从青铜到王者,进阶数据可视化2.0的五个Python库!的具体内容,更多请存眷资源魔其它相干文章!

标签: Python python教程 python编程 python使用问题 数据可视化

抱歉,评论功能暂时关闭!