>백엔드 개발 >파이썬 튜토리얼 >브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼앞으로
2019-08-29 17:40:003838검색

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

데이터 시각화를 위한 도구와 프로그램 라이브러리는 이미 매우 풍부합니다. 그 중 하나 또는 여러 개에 익숙해지면 훌륭한 작업을 수행할 수 있지만, 현실에 안주하면 새로운 트렌드를 놓치게 됩니다. 도구와 도서관. Matplotlib(훌륭함), Seaborn(역시 훌륭함), Pandas(기본적이고 간단한 시각화) 및 Bokeh에 여전히 갇혀 있다면 정말로 멈추고 새로운 것을 배워야 합니다. 예를 들어 Python에는 다음 다섯 가지와 같이 이미 매우 일반적인 놀라운 시각화 라이브러리가 많이 있습니다.

Plotly

Cufflinks

Folium

Altair + Vega

D3.js (저도 JS로 코딩하기 때문에 개인적으로 최선의 선택)

위에서 언급한 라이브러리를 이해하고 사용한다면 올바른 진화의 궤도에 진입한 것입니다. 인상적인 시각화를 생성하는 데 도움이 될 수 있으며 구문도 어렵지 않습니다. 일반적으로 저는 Plotly+Cufflinks와 D3.js를 선호합니다. 자세한 내용은 다음과 같습니다.

Plotly

Plotly는 오픈 소스, 대화형 및 브라우저 기반 Python 그래픽 라이브러리입니다. 대시보드나 웹사이트에서 사용할 수 있는 대화형 차트를 생성할 수 있습니다(html 파일이나 정적 이미지로 저장할 수 있음). Plotly는 D3.js를 기반으로 하는 Plotly.js를 기반으로 하며 Bokeh와 마찬가지로 대화형 차트를 만드는 것이 장점입니다. 대부분의 차트에서 일부 기능을 제공합니다. 등고선 차트, 나무 차트, 과학 차트, 통계 차트, 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"는 시각화의 전체 정의를 변경합니다.

단 한 줄의 코드로 아래의 산점도를 생성했습니다. 필요에 따라 사용자 정의할 수 있습니다. 패턴 태그를 지정하는 것을 잊지 마십시오. 그렇지 않으면 몇 줄이 표시됩니다.

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

데이터가 증가하면 플롯이 멈추기 시작합니다. 따라서 데이터 포인트가 500K 미만인 경우에만 플롯을 사용하겠습니다.

관련 권장 사항: "Python 비디오 튜토리얼"

Cufflinks

Cufflinks는 Plotly를 Pandas 데이터 프레임에 직접 바인딩합니다. Pandas의 유연성과 Plotly보다 더 높은 효율성, 그리고 Pandas보다 훨씬 간단한 구문을 결합한 이 조합은 놀랍습니다. 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])

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

withplotly

df.iplot(kind= &#39;scatter&#39;)

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

with 커프스 단추

커프스 단추를 사용하면 차트 작성이 더 쉬워집니다. 커프스 단추를 사용하여 놀라운 3D 다이어그램을 생성할 수도 있습니다. 단 몇 줄의 코드만으로 아래 3D 차트를 생성했습니다.

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

커프스 단추로 생성된 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 =&#39;pearl&#39;,offline = True )
init_notebook_mode()

다음으로 또 다른 God 라이브러리인 Viz 라이브러리에 대해 이야기하겠습니다.

Folium

Folium은 Python 생태계의 데이터 강점과 Leaflet.js 라이브러리의 매핑 강점을 기반으로 구축되었습니다. Python에서 데이터를 조작한 다음 Folium을 통해 Leaflet 맵에서 시각화할 수 있습니다. Folium은 공간 데이터 매핑을 위한 "마법의 라이브러리"입니다. Folium을 사용하여 열 지도와 등치도를 생성할 수도 있습니다. Folium에 대해 알아봅시다:

지도는 folium.Map 객체로 정의되며, Folium 위에 다른 Folium 객체를 추가할 수 있습니다.

MapBox, OpenStreetMap 등 Folium 렌더링 지도에 대해 다양한 지도 레이어를 사용할 수 있습니다. 이 github 저장소 폴더 또는 이 문서 페이지를 확인할 수 있습니다.

다른 지도 투영을 선택할 수도 있습니다. 선택할 수 있는 예측이 많이 있습니다.

미국 실업률의 Geojson을 사용하여 등치 지도를 생성해 보겠습니다. 다음은 스니펫입니다.

map = folium.Map([43, -100], zoom_start=4)
choropleth = folium.Choropleth( geo_data=us_states, data=state_data, 
columns=[&#39;State&#39;, &#39;Unemployment&#39;], key_on=&#39;feature.id&#39;, fill_color=&#39;YlGn&#39;, name=&#39;Unenployment&#39;, 
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(&#39;results&#39;, &#39;GeoChoro.html&#39;))
map

기본 지도일 뿐이며 마커, 팝업 등을 추가할 수 있습니다. 아래의 전단지와 Folium으로 생성된 지도가 될 수 있습니다.

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

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=&#39;interval&#39;)
points = alt.Chart().mark_point().encode( x=&#39;Horsepower:Q&#39;, y=&#39;Miles_per_Gallon:Q&#39;, 
color=alt.condition(brush, &#39;Origin:N&#39;, alt.value(&#39;lightgray&#39;))).add_selection( brush)
bars = alt.Chart().mark_bar().encode( y=&#39;Origin:N&#39;, color=&#39;Origin:N&#39;, 
x=&#39;count(Origin):Q&#39;).transform_filter( brush)
alt.vconcat(points, bars, data=source)

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

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

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

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

Sequences Sunburst — Kerry Rodden’s Block (Source)

브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!

위 내용은 브론즈부터 킹까지, 고급 데이터 시각화 2.0을 위한 5개의 Python 라이브러리!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jianshu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제