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

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

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

绘图步骤:

1、准备数据(核心)
2、创建图形
3、自定义绘图(核心)
4、保存图形
5、显示图形
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

''' 知识点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 个子图
​
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

''' 知识点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),Matplotlib绘图必备知识大总结(上篇)

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

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

height: 条形图高度

width: 条形图的宽度

align: 向哪里对齐,center中心对齐,edge边缘对齐
 
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

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

1、语法
ax.scatter(x, y, color='red', marker=".")
​
2、参数分析
marker="." 是一个标记,ax.plot(x, y, color='', marker="o")
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

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

语法参数:
ax.hist(x, range(1, 5), bins=20, color)

x:必选参数

range(1, 5):可选/可不选参数,代表限定 x 轴的区域(X 轴从 1 开始到 5 结束)

bins = 20: 可选/可不选参数,直方图的宽度
​
作用:用于探索某类数据的集中分布,发现某类数据的核心点在哪个值的范围
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

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

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

''' 知识点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轴正方向画起
 
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

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

(注意: 这里只能用 plt 不能用 ax)
1、正常显示中文字体
plt.rcParams['font.family'] = 'SimHei'
​
2、字体大小
plt.rcParams['xtick.labelsize'] = 24
plt.rcParams['ytick.labelsize'] = 20
​
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

''' 知识点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 轴刻度的标签值
数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

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

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

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

推荐往期文章如下:

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

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

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

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

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

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

封面图片来源于网络


分享到:


相關文章: