一亩三分地

 找回密码 注册账号

扫描二维码登录本站

微信公众号
扫码关注公众号
留学申请号
扫码关注留学申请公众号
查看: 378|回复: 1
收起左侧

Matplotlib & Seaborn 基本作图

[复制链接] |只看干货 |数据科学
我的人缘0

升级   62.5%


分享帖子到朋友圈
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   100% (18)
 
 
0% (0)    👎
Matplotlib (Stateful vs stateless(OOP) approach)

1.Stateful approach 线图点图:

plt.plot(x=,y=, color=, marker=,linestyle=,linewidth,markersize=)

bar chart: plt.bar(x, y, align='center', alpha=0.5)

优点:简单快捷 缺点:缺乏灵活性. 1point3acres


2.Stateless(OOP) approach 作图的元素:

  • fig, ax = plt.subplots(nrow,ncol,figsize=(5, 3))

       fig: 给我一张画布; ax:画布上要有几个图

  • 将ax看成object, 添加plot,legend, set_xlabel, set_ylabel



Seaborn
基于Matplotlib的高级作图工具,特别适合做统计分析。 基本思路:

  • 用Seaborn作图
  • 用Matplotlib微调
  • (Optional) Theme



以下是在Google Colab 的 code:
(# 去掉将实现各行的code)

先导入所需的libraries
|--------------------------------------------------------
|  import pandas as pd, numpy as np                      |
|  import matplotlib as mpl                                      |-baidu 1point3acres
|  import matplotlib.pyplot as plt                             |
|  mpl.rcParams.update(mpl.rcParamsDefault)         |
|  import seaborn as sns                                           |
--------------------------------------------------------|

所需data还得导入, 不了解的同学可以看  数据 导入 Google Colab 的方法 https://www.1point3acres.com/bbs/thread-681995-1-1.html
----------------------------------------------------------------------------------------------------------------------------------------------------

fig=plt.figure(figsize=(8,10))  # 新建一张画布(设定尺寸)

#sns.set_style('whitegrid')  #设定风格


ax0=fig.add_subplot(211)  # 添加一个图框

#sns.barplot(x="year", y="population", data=d6)
#sns.barplot(x="year", y="population", data=d3)
ax0.bar(CN.year,CN.population/10**6,width=3)
ax0.bar(US.year,US.population/10**6,width=3)   #制作柱状图 (x轴, y轴, 宽度)其它图形可以Google matplotlib & seaborn 跟多了解
ax0.bar(UK.year,UK.population/10**6,width=3) . From 1point 3acres bbs
#plt.bar(UK.year,UK.population/10**6,width=3,color = (0.3,0.9,0.4,0.6), label='UK')

ax0.set_title("Population Growth",fontsize=20)  #设定画框名字(字体大小)
#plt.title("Population Growth")

ax0.set_xlabel('year')    # 设定x轴名字
plt.ylabel('population in million', size=15)  # 设定y轴名字

#ax0.xaxis.label.set_size(15) # 设定x轴名字字体大小
#ax0.yaxis.label.set_size(15) # 设定y轴名字字体大小

ax0.legend(['China','United States', 'United Kingdom'])  # 命名在画框中图名

#ax0.set_ylim(top=1500) # 设定y轴最大刻度值

ax0.set_xticks(np.arange(min(CN.year),max(CN.year)+1, 5)) # 调整刻度
# or e.g. ax0.set_yticks([0.2, 0.55, 0.76])

#plt.xticks(rotation=45)

#plt.axhline(y=300,color='purple',linestyle='--') # 可以放其他数值,比如平均数,中位数之类的。


ax0.grid(False)  # 画框背景刻度虚线(True/False)False:隐藏
#ax0.grid(color='gray', alpha=0.5, linestyle='dotted') # 调整刻度虚线. check 1point3acres for more.

#plt.subplot(2,1,2)


#plt.subplots_adjust(bottom= 0.2, top = 0.98) # Adjust the margins


sns.despine(ax=ax0, right=True, top=True) # 增减边框线

plt.show()

#plt.savefig()


==============================================================
以上就是Python作图的基本所需, 跟多了解Google matplotlib & seaborn.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册账号

x

评分

参与人数 7大米 +18 收起 理由
大队管理员 + 10 欢迎分享你知道的情况,会给更多积分奖励!
rojoblancos + 1 赞一个!
tuzkizhe + 1 很有用的信息!
TensorFrozen + 1 赞一个
SummerBreak + 1 很有用的信息!
DL + 3 很有用的信息!
xucb + 1 给你点个赞!

查看全部评分


上一篇:推荐一个sql playground
下一篇:分享一个学习概率的好教材
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

隐私提醒:
■拉群请前往同学同事飞友|拉群结伴版块,其他版块拉群,帖子会被自动删除
■论坛不能删帖,为防止被骚扰甚至人肉,不要公开留微信等联系方式,请以论坛私信方式发送。
■特定版块可以超级匿名:https://tools.1point3acres.com/thread
■其他版块匿名方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|||一亩三分地

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

Some icons made by Freepik from flaticon.com

快速回复 返回顶部 返回列表