利用python数据可视化_想用Python做数据可视化?先迈过这个“坎”
文丨Chris Moffitt
編譯丨姜瑞琪
觸脈咨詢數(shù)據(jù)分析師
用過(guò)python的人都會(huì)面臨一個(gè)問(wèn)題,尤其是初學(xué)者:我應(yīng)該選哪個(gè)來(lái)實(shí)現(xiàn)數(shù)據(jù)可視化?
面對(duì)眾多的選項(xiàng),要弄清楚什么時(shí)候使用哪個(gè)的問(wèn)題沒(méi)那么容易。
這就是今天分享這篇文章的初衷,通過(guò)列舉一些使用頻率較高的工具,以及使用它們創(chuàng)建簡(jiǎn)單的條形圖的方法,幫助各位進(jìn)行簡(jiǎn)單的梳理。
以下就是將要用來(lái)創(chuàng)建繪制數(shù)據(jù)的示例:
·Pandas
·Seaborn
·Ggplot
在示例中,我將使用pandas進(jìn)行數(shù)據(jù)處理并使用它來(lái)完成可視化的效果。其實(shí),在大多數(shù)情況下,可視化工具可以在沒(méi)有pandas的情況下使用,但pandas+可視化工具的組合很常見(jiàn),這是一個(gè)很好的起始點(diǎn)。
pandas
我通常會(huì)用pandas DataFrame開(kāi)始制作各種繪圖的工作。這樣有一個(gè)優(yōu)勢(shì),就是pandas提供內(nèi)置的繪圖功能,它是matplotlib之上的一層。
首先,導(dǎo)入我們的模塊并將數(shù)據(jù)放入DataFrame中,此外,還將對(duì)數(shù)據(jù)進(jìn)行排序并讓其限制在前10行中。
所有的示例中使用的預(yù)算行都相同,以下是導(dǎo)入DataFrame后前5個(gè)項(xiàng)目的樣子:
我們可以手動(dòng)設(shè)置外觀并創(chuàng)建一個(gè)條形圖:
如果想保存生成的圖像,則需要以下的代碼:
制作成功后會(huì)如下所示:
如果想對(duì)Y軸進(jìn)行更多格式化,則需要一些matplotlib的操作,而不能僅僅通過(guò)pandas來(lái)實(shí)現(xiàn)。
Seaborn
Seaborn是基于matplotlib的可視化庫(kù),它能讓數(shù)據(jù)可視化在視覺(jué)上更具有吸引力,并且能夠很好的與pandas一起使用。
我喜歡用Seaborn的一點(diǎn)就在于它能夠快速更改調(diào)色板以使其外觀更好看。
標(biāo)準(zhǔn)導(dǎo)入并讀取數(shù)據(jù):
在使用的時(shí)候,我發(fā)現(xiàn)一件事情就是必須使用x_order明確設(shè)置x_axis上項(xiàng)目的順序。
對(duì)這節(jié)代碼設(shè)置順序,并設(shè)置繪圖和條形圖顏色的樣式:
示例中,我們使用matplotlib旋轉(zhuǎn)x軸標(biāo)題,以便在實(shí)際場(chǎng)景中可以閱讀。視覺(jué)上,顯示看起來(lái)不錯(cuò)。理想情況下,可以使用matplotlib中的plt.yticks在y軸上設(shè)置刻度線的格式。
ggplot
ggplot與Seaborn相似,都是建立在matplotlib之上,并以一種簡(jiǎn)單的方式優(yōu)化提升matplotlib可視化的視覺(jué)吸引力。但有一點(diǎn)與seaborn不同,它是R的ggplot2端口,因此,某些API是非Python的,但功能非常強(qiáng)大。
繼續(xù)導(dǎo)入并讀取我們的數(shù)據(jù):
現(xiàn)在,我們可以通過(guò)將幾個(gè)ggplot命令連接在一起來(lái)構(gòu)建繪圖:
通過(guò)使用print p可以顯示圖形。
實(shí)操中,確實(shí)需要花一些時(shí)間才能弄清楚如何將文本旋轉(zhuǎn)90度,以及如何在x軸上排列標(biāo)簽。
我發(fā)現(xiàn)scale_y_continous是一個(gè)很酷的功能,它能使標(biāo)簽的使用變得更簡(jiǎn)單。
如果要保存圖像,可以使用ggsave輕松進(jìn)行:
最終生成的圖像。
總結(jié):
使用Python繪制數(shù)據(jù)圖表時(shí),選擇太多是好事兒也是壞事兒。這意味著我們需要根據(jù)要完成的工作找出適合的方法,去確定這些工具能否有用。
這沒(méi)辦法給出一個(gè)明確的定義,以此為基準(zhǔn)進(jìn)行選擇。以下是我總結(jié)的一些想法:
·pandas對(duì)于簡(jiǎn)單的繪制圖表很方便,但通常需要搭配matplotlib進(jìn)行使用。
·seaborn可以支持復(fù)雜的可視化方法,在配色方案上也有一定優(yōu)勢(shì)。但是,仍需要用matplotlib進(jìn)行調(diào)整。
·ggplot仍然在不斷優(yōu)化。
希望對(duì)各位有所幫助~
原文鏈接:https://pbpython.com/visualization-tools-1.html,有所刪減及修改
總結(jié)
以上是生活随笔為你收集整理的利用python数据可视化_想用Python做数据可视化?先迈过这个“坎”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 字符串反转python_Python 反
- 下一篇: sqlserver2000内存突破4g_