数据分析 这里有个流行的Python可视化工具包你喜欢哪个Word文档格式.docx
- 文档编号:14198379
- 上传时间:2022-10-20
- 格式:DOCX
- 页数:14
- 大小:427.13KB
数据分析 这里有个流行的Python可视化工具包你喜欢哪个Word文档格式.docx
《数据分析 这里有个流行的Python可视化工具包你喜欢哪个Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据分析 这里有个流行的Python可视化工具包你喜欢哪个Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
下面是我用Matplotlib及相关工具所做的示例图:
在处理篮球队薪资数据时,我想找出薪资中位数最高的团队。
为了展示结果,我将每个球队的工资用颜色标成条形图,来说明球员加入哪一支球队才能获得更好的待遇。
import
seaborn
as
sns
matplotlib.pyplot
plt
color_order
=
['
xkcd:
cerulean'
'
ocean'
black'
'
royal
purple'
navy
blue'
powder
light
maroon'
lightish
navy'
]
sns.barplot(x=top10.Team,
y=top10.Salary,
palette=color_order).set_title('
Teams
with
Highest
Median
Salary'
)
plt.ticklabel_format(style='
sci'
axis='
y'
scilimits=(0,0))
第二个图是回归实验残差的Q-Q图。
这张图的主要目的是展示如何用尽量少的线条做出一张有用的图,当然也许它可能不那么美观。
scipy.stats
stats
#model2
is
a
regression
model
log_resid
model2.predict(X_test)-y_test
stats.probplot(log_resid,
dist="
norm"
plot=plt)
plt.title("
Normal
Q-Q
plot"
plt.show()
最终证明,Matplotlib及其相关工具的效率很高,但就演示而言它们并不是最好的工具。
ggplot
(2)
你可能会问,「Aaron,ggplot是R中最常用的可视化包,但你不是要写Python的包吗?
」。
人们已经在Python中实现了ggplot2,复制了这个包从美化到语法的一切内容。
在我看过的所有材料中,它的一切都和ggplot2很像,但这个包的好处是它依赖于PandasPython包。
不过PandasPython包最近弃用了一些方法,导致Python版本不兼容。
如果你想在R中用真正的ggplot(除了依赖关系外,它们的外观、感觉以及语法都是一样的),我在另外一篇文章中对此进行过讨论。
也就是说,如果你一定要在Python中用ggplot,那你就必须要安装0.19.2版的Pandas,但我建议你最好不要为了使用较低级的绘图包而降低Pandas的版本。
ggplot2(我觉得也包括Python的ggplot)举足轻重的原因是它们用「图形语法」来构建图片。
基本前提是你可以实例化图,然后分别添加不同的特征;
也就是说,你可以分别对标题、坐标轴、数据点以及趋势线等进行美化。
下面是ggplot代码的简单示例。
我们先用ggplot实例化图,设置美化属性和数据,然后添加点、主题以及坐标轴和标题标签。
#All
Salaries
ggplot(data=df,
aes(x=season_start,
y=salary,
colour=team))
+
geom_point()
theme(legend.position="
none"
)
labs(title
Salary
Over
Time'
x='
Year'
y='
($)'
Bokeh
Bokeh很美。
从概念上讲,Bokeh类似于ggplot,它们都是用图形语法来构建图片,但Bokeh具备可以做出专业图形和商业报表且便于使用的界面。
为了说明这一点,我根据538MasculinitySurvey数据集写了制作直方图的代码:
pandas
pd
from
bokeh.plotting
figure
bokeh.io
show
#
is_masc
one-hot
encoded
dataframe
of
responses
to
the
question:
"
Do
you
identify
masculine?
#Dataframe
Prep
counts
is_masc.sum()
resps
is_masc.columns
#Bokeh
p2
figure(title='
You
View
Yourself
As
Masculine?
x_axis_label='
Response'
y_axis_label='
Count'
x_range=list(resps))
p2.vbar(x=resps,
top=counts,
width=0.6,
fill_color='
red'
line_color='
show(p2)
#Pandas
counts.plot(kind='
bar'
用Bokeh表示调查结果
红色的条形图表示538个人关于「你认为自己有男子汉气概吗?
」这一问题的答案。
9~14行的Bokeh代码构建了优雅且专业的响应计数直方图——字体大小、y轴刻度和格式等都很合理。
我写的代码大部分都用于标记坐标轴和标题,以及为条形图添加颜色和边框。
在制作美观且表现力强的图片时,我更倾向于使用Bokeh——它已经帮我们完成了大量美化工作。
用Pandas表示相同的数据
蓝色的图是上面的第17行代码。
这两个直方图的值是一样的,但目的不同。
在探索性设置中,用Pandas写一行代码查看数据很方便,但Bokeh的美化功能非常强大。
Bokeh提供的所有便利都要在matplotlib中自定义,包括x轴标签的角度、背景线、y轴刻度以及字体(大小、斜体、粗体)等。
下图展示了一些随机趋势,其自定义程度更高:
使用了图例和不同的颜色和线条。
Bokeh还是制作交互式商业报表的绝佳工具。
Plotly
Plotly非常强大,但用它设置和创建图形都要花费大量时间,而且都不直观。
在用Plotly忙活了大半个上午后,我几乎什么都没做出来,干脆直接去吃饭了。
我只创建了不带坐标标签的条形图,以及无法删掉线条的「散点图」。
Ploty入门时有一些要注意的点:
∙安装时要有API秘钥,还要注册,不是只用pip安装就可以;
∙Plotly所绘制的数据和布局对象是独一无二的,但并不直观;
∙图片布局对我来说没有用(40行代码毫无意义!
但它也有优点,而且设置中的所有缺点都有相应的解决方法:
∙你可以在Plotly网站和Python环境中编辑图片;
∙支持交互式图片和商业报表;
∙Plotly与Mapbox合作,可以自定义地图;
∙很有潜力绘制优秀图形。
以下是我针对这个包编写的代码:
#plot
1
-
barplot
**note**
layout
lines
do
nothing
and
trip
no
errors
data
[go.Bar(x=team_ave_df.team,
y=team_ave_df.turnovers_per_mp)]
go.Layout(
title=go.layout.Title(
text='
Turnovers
per
Minute
by
Team'
xref='
paper'
x=0
),
xaxis=go.layout.XAxis(
title
go.layout.xaxis.Title(
font=dict(
family='
Courier
New,
monospace'
size=18,
color='
#7f7f7f'
yaxis=go.layout.YAxis(
go.layout.yaxis.Title(
Average
Turnovers/Minute'
autosize=True,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据分析 这里有个流行的Python可视化工具包你喜欢哪个 数据 分析 这里 流行 Python 可视化 工具包 喜欢 哪个