赞
踩
今天介绍Python当中十大可视化工具,每一个都独具特色,惊艳一方。
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 是基于 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 是一个交互式数据可视化库,可以绘制出高质量的折线图、散点图、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 是一个交互式数据可视化库,也支持多种编程语言,如 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 是一个基于 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 是一个基于 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 是一个 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 是一个基于 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 是一个用于生成词云的 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 是一个用于创建、操作和可视化复杂网络的 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)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。