今天介紹Python/ target=_blank class=infotextkey>Python當(dāng)中十大可視化工具,每一個(gè)都獨(dú)具特色,驚艷一方。
Matplotlib
Matplotlib 是 Python 的一個(gè)繪圖庫(kù),可以繪制出高質(zhì)量的折線(xiàn)圖、散點(diǎn)圖、柱狀圖、條形圖等等。它也是許多其他可視化庫(kù)的基礎(chǔ)。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
Seaborn
Seaborn 是基于 Matplotlib 的 Python 數(shù)據(jù)可視化庫(kù),專(zhuān)門(mén)用于繪制統(tǒng)計(jì)圖形,如熱圖、小提琴圖、帶誤差線(xiàn)的折線(xiàn)圖等等。
import seaborn as sns
import pandas as pd
df = pd.read_csv('data.csv')
sns.boxplot(x='day', y='total_bill', data=df)
Plotly
Plotly 是一個(gè)交互式數(shù)據(jù)可視化庫(kù),可以繪制出高質(zhì)量的折線(xiàn)圖、散點(diǎn)圖、3D 圖形等等。它支持多種編程語(yǔ)言,如 Python、R、JAVAScript 等等。
import plotly.graph_objs as go
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
fig = go.Figure(data=go.Scatter(x=x, y=y))
fig.show()
Bokeh
Bokeh 是一個(gè)交互式數(shù)據(jù)可視化庫(kù),也支持多種編程語(yǔ)言,如 Python、R、JavaScript 等等。它可以繪制出高質(zhì)量的折線(xiàn)圖、散點(diǎn)圖、柱狀圖、條形圖等等。
from bokeh.plotting import figure, show
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
p = figure(title='Sine Wave')
p.line(x, y, legend_label='Sine')
show(p)
Altair
Altair 是一個(gè)基于 Vega-Lite 的 Python 可視化庫(kù),可以快速輕松地繪制出高質(zhì)量的折線(xiàn)圖、散點(diǎn)圖、柱狀圖等等。
import altair as alt
import pandas as pd
df = pd.read_csv('data.csv')
alt.Chart(df).mark_bar().encode(
x='year',
y='sales',
color='region'
)
ggplot
ggplot 是一個(gè)基于 R 語(yǔ)言中的 ggplot2 庫(kù)的 Python 可視化庫(kù),可以繪制出高質(zhì)量的散點(diǎn)圖、柱狀圖、箱線(xiàn)圖等等。
from ggplot import *
import pandas as pd
df = pd.read_csv('data.csv')
ggplot(df, aes(x='date', y='value', color='variable')) +
geom_line() +
theme_bw()
Holoviews
Holoviews 是一個(gè) Python 可視化庫(kù),可以創(chuàng)建交互式的數(shù)據(jù)可視化,支持多種類(lèi)型的可視化圖形,如折線(xiàn)圖、散點(diǎn)圖、柱狀圖、熱力圖等等。
import holoviews as hv
import numpy as np
x = np.linspace(0, 10, 100)
y = np.sin(x)
hv.extension('bokeh')
hv.Curve((x, y))
Plotnine
Plotnine 是一個(gè)基于 Python 的 ggplot2 庫(kù)的可視化庫(kù),它可以創(chuàng)建高質(zhì)量的數(shù)據(jù)可視化圖形,如散點(diǎn)圖、柱狀圖、線(xiàn)圖等等。
from plotnine import *
import pandas as pd
df = pd.read_csv('data.csv')
(ggplot(df, aes(x='year', y='sales', fill='region')) +
geom_bar(stat='identity', position='dodge'))
wordcloud
Wordcloud 是一個(gè)用于生成詞云的 Python 庫(kù),可以將文本中出現(xiàn)頻率高的詞匯以圖形的方式展示出來(lái)。
from wordcloud import WordCloud
import matplotlib.pyplot as plt
text = "Python is a high-level programming language"
wordcloud = WordCloud().generate(text)
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
Networkx 是一個(gè)用于創(chuàng)建、操作和可視化復(fù)雜網(wǎng)絡(luò)的 Python 庫(kù)。它支持創(chuàng)建多種類(lèi)型的網(wǎng)絡(luò)結(jié)構(gòu),如有向圖、無(wú)向圖、加權(quán)圖等等。
import networkx as nx
import matplotlib.pyplot as plt
G = nx.DiGraph()
G.add_edge('A', 'B')
G.add_edge('B', 'C')
G.add_edge('C', 'D')
G.add_edge('D', 'A')
pos = nx.spring_layout(G)
nx.draw_networkx_nodes(G, pos, node_size=500)
nx.draw_networkx_edges(G, pos)
nx.draw_networkx_labels(G, pos)
plt.axis('off')
plt.show()
好啦,以上就是精心挑選的 Python 可視化庫(kù),大家最好自己動(dòng)手體驗(yàn)一下哦!