今天介绍Python当中十大可视化工具,每一个都独具特色,惊艳一方。
文章目录
Matplotlib技术提升SeabornPlotlyBokehAltairggplotHoloviewsPlotnineWordcloudNetworkx
Matplotlib
Matplotlib 是 Python 的一个绘图库,可以绘制出高质量的折线图、散点图、柱状图、条形图等等。它也是许多其他可视化库的基础。
import matplotlib.pyplot as pltimport numpy as npx = np.linspace(0, 10, 100)y = np.sin(x)plt.plot(x, y)plt.show()
技术提升
技术要学会分享、交流,不建议闭门造车。一个人走的很快、一堆人可以走的更远。
本文由技术群粉丝分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友
方式①、添加微信号:pythoner666,备注:来自CSDN
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:加群
Seaborn
Seaborn 是基于 Matplotlib 的 Python 数据可视化库,专门用于绘制统计图形,如热图、小提琴图、带误差线的折线图等等。
import seaborn as snsimport pandas as pddf = 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 goimport numpy as npx = 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, showimport numpy as npx = 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 altimport pandas as pddf = 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 pddf = pd.read_csv('data.csv')ggplot(df, aes(x='date', y='value', color='variable')) + \ geom_line() + \ theme_bw()
Holoviews
Holoviews 是一个 Python 可视化库,可以创建交互式的数据可视化,支持多种类型的可视化图形,如折线图、散点图、柱状图、热力图等等。
import holoviews as hvimport numpy as npx = 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 pddf = 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 WordCloudimport matplotlib.pyplot as plttext = "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 nximport matplotlib.pyplot as pltG = 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 可视化库,大家最好自己动手体验一下哦!