数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

python数据科学,数据可视化是非常重要的一个环节,但是很多朋友在学习matplotlib可视化模块时,总是学的不得意,感觉学来学去不怎么会,所以小编将matplotlib模块常用的绘图知识总结整理在一起,便于读者朋友记忆和掌握核心的绘图知识。

Matplotlib总结分为两次推送,今天推送上篇,下面直接上干货.....

绘图步骤:

1、准备数据(核心) 2、创建图形 3、自定义绘图(核心) 4、保存图形 5、显示图形

''' 知识点0:创建画布、子图 '''

1、创建画布 fig = plt.figure(figsize=(10,4)) # 第一种 fig, ax = plt.subplots() # 第二种 ​ 2、增加子图 ax1 = fig.add_subplot(row,col,num) ax2 = fig.add_subplot(221) 等效于 add_subplot(2, 2, 1) 代表添加第 2 行第 2 列的第 1 个子图 ​

''' 知识点1:plt 与 ax 绘图的异同 '''

1、相同: 绘图函数的参数用法一样,比如:plt.plot(x, y, color='r') 与 ax.plot(x, y, color='r') 其他描述性函数的参数用法一样,比如:plt.legend(loc='best') 与 ax.legend(loc='best') ​ 2、不同之处 ax 使用 ax 绘图: 比如:ax.plot/bar/scatter/hist等() 比如:ax.legend/test/annotate/margins/axis/tick_params() 比如:ax.set_xlim/ylim/title/xlabel/ylabel/xticks/yticks/xticklabel/yticklabel ​ plt 使用 plt 绘图: 比如:plt.plot/bar/scatter/hist等() 比如:plt.legend/test/annotate/margins/axis/tick_params() 比如:plt.xlim/ylim/title/xlabel/ylabel/xticks/yticks/xticklabel/yticklabel

''' 知识点2:条形图 '''

1、语法 bar(x, height, width, color, align='center') 纵向 ax.barh() 横向 ​ 2、参数分析 x: 条形图在x轴位置, 某种情况下巧用"整型"索引值:df.index.tolist() height: 条形图高度 width: 条形图的宽度 align: 向哪里对齐,center中心对齐,edge边缘对齐

''' 知识点3:散点图 '''

1、语法 ax.scatter(x, y, color='red', marker=".") ​ 2、参数分析 marker="." 是一个标记,ax.plot(x, y, color='', marker="o")

''' 知识点4:直方图 '''

语法参数: ax.hist(x, range(1, 5), bins=20, color) x:必选参数 range(1, 5):可选/可不选参数,代表限定 x 轴的区域(X 轴从 1 开始到 5 结束) bins = 20: 可选/可不选参数,直方图的宽度 ​ 作用:用于探索某类数据的集中分布,发现某类数据的核心点在哪个值的范围

''' 知识点5:箱形图 '''

# 一个画布一个箱型图 ax.boxplot(x) # 一个画布多个箱型图 ax.boxplot([x1, x2, x3,...]) 它由五个数值点组成:从下到上 0%最小值(min),25%下四分位数(Q1),50%中位数(median), 75%上四分位数(Q3),100%最大值(max) ​ 作用: 1、直观地识别数据集中的异常值(查看离群点),离群点单独析出 2、判断数据离散程度和偏向(观察盒子的长度,上下隔间的形状,以及胡须的长度) 3、用于探索某类数据的集中分布

''' 知识点6:饼图 '''

1、语法: ax.pie(x, explode=None, labels=None, colors=None, shadow=False, autopct=None, radius=None, startangle=None) ​ 2、参数分析 x: 一般是分类型、占比型数据,数组形式如: x=[1, 2, 4] 或 [[1], [2], [4]] explode: 各个饼图之间的距离,列表形式如: explode=[0.12, 0.1, 0.04] labels: 标签, 列表形式如: labels=['pie1', 'pie2', 'pie3'], 一般结合图例 ax.legend(loc='best') colors: 颜色,数组形式(一维二维都行) shadow: 布尔值,设置饼图边缘下面呈现一层阴影, 就会显得厚一点 autopct: 控制饼图内百分比设置,可以使用format字符串或者format function '%1.1f'指小数点前后位数(没有用空格补齐)如: autopct='%.2f'(单纯显示值); autopct='%.2f%%'(显示值和百分号) radius: 饼的半径,即饼的大小,如:radius=1.2 startangle: 起始绘制角度,默认图是从x轴正方向逆时针画起, 如:startangle=90 则从y轴正方向画起

''' 知识点7:设置中文字体、字体大小 '''

(注意: 这里只能用 plt 不能用 ax) 1、正常显示中文字体 plt.rcParams['font.family'] = 'SimHei' ​ 2、字体大小 plt.rcParams['xtick.labelsize'] = 24 plt.rcParams['ytick.labelsize'] = 20 ​

''' 知识点8:基本信息设置 '''

第一种方法:单一 tick_positions = range(1,6) ax.set_xticks(tick_positions) ax.set_xticklabels(cols, rotation=45) # rotation 代表旋转的角度 ax.set_xlabel('Rating Source') ax.set_ylabel('Average Rating') ax.set_title('2015') ax.set_xlim(0, 6) ax.set_ylim(0, 6) ​ 第二种方法:统一性 ax.set(title='2015', # 标题 xlabel='Rating Source', # X 轴标签 ylabel='Average Rating', # Y 轴标签 xticks=tick_positions, # X、Y 轴刻度 xlim=[0, 6], ylim=[0, 6], # X、Y 轴范围限制 ) ax.set_xticklabels(['要设置的标签值', ''], rotation=45) X 轴刻度的标签值

End-----------

欢迎读者朋友留言评论、转发.......

喜欢的读者朋友可以点赞和关注小编,更多精彩内容等着你.........

推荐往期文章如下:

数据分析必备知识(1),Numpy基础篇

python必备知识(1),打包为exe文件封装成可导入模块

数据挖掘项目实训:窃漏电用户自动识别

python爬虫基础入门教程,人性化的python requests最全总结

python数据分析库之pandas知识大总结

python面向对象大总结,让你快速掌握面向对象常用的用法

封面图片来源于网络