今天介绍Python当中十大可视化工具,每一个都独具特色,惊艳一方。
Matplotlib
Matplotlib 是 Python 的一个绘图库,可以绘制出高质量的折线图、散点图、柱状图、条形图等等。它也是许多其他可视化库的基础。
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 数据可视化库,专门用于绘制统计图形,如热图、小提琴图、带误差线的折线图等等。
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 是一个交互式数据可视化库,可以绘制出高质量的折线图、散点图、3D 图形等等。它支持多种编程语言,如 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 是一个交互式数据可视化库,也支持多种编程语言,如 Python、R、JavaScript 等等。它可以绘制出高质量的折线图、散点图、柱状图、条形图等等。
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 是一个基于 Vega-Lite 的 Python 可视化库,可以快速轻松地绘制出高质量的折线图、散点图、柱状图等等。
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 是一个基于 R 语言中的 ggplot2 库的 Python 可视化库,可以绘制出高质量的散点图、柱状图、箱线图等等。
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 是一个 Python 可视化库,可以创建交互式的数据可视化,支持多种类型的可视化图形,如折线图、散点图、柱状图、热力图等等。
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 是一个基于 Python 的 ggplot2 库的可视化库,它可以创建高质量的数据可视化图形,如散点图、柱状图、线图等等。
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 是一个用于生成词云的 Python 库,可以将文本中出现频率高的词汇以图形的方式展示出来。
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
Networkx 是一个用于创建、操作和可视化复杂网络的 Python 库。它支持创建多种类型的网络结构,如有向图、无向图、加权图等等。
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 可视化库,大家最好自己动手体验一下哦!
人生苦短,我用python
往期精彩回顾
适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑
交流群
欢迎加入机器学习爱好者微信群一起和同行交流,目前有机器学习交流群、博士群、博士申报交流、CV、NLP等微信群,请扫描下面的微信号加群,备注:”昵称-学校/公司-研究方向“,例如:”张小明-浙大-CV“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~(也可以加入机器学习交流qq群772479961)