目录
- 系列课程学习目标
- 1. 基于matplotlib的数据可视化
- 2 matplotlib.pyplot函数库简介
- 3 matplotlib.pyplot相关函数简介
- 3.1 plt.plot(x, y, format_string, **kwargs)
- 3.2 plt.title()
- 3.3 plt.xlabel()/ylabel()
- 3.4 plt.legend()
- 3.5 pyplot的中文显示
- 3.5.1 第一种方法
- 3.5.2 第二种方法
- 3.6 pyplot的文本显示
- 3.7 pyplot的子绘图区域
- 4. pyplot的基础图表函数
- 5. numpy和matplotlib绘图综合应用
系列课程学习目标
- [✔] 了解Python中的可视化库
- [✔] 了解NumPy库的基本原理
- [✔] 掌握matplotlib库的绘图方法
- 掌握pandas库的绘图方法
- 掌握seaborn库的绘图方法
- 掌握Bokeh库的绘图方法
- 掌握pyqtgraph库的绘图方法
1. 基于matplotlib的数据可视化
Matplotlib: 最流行的Python底层绘图库,主要做数据可视化图表
,名字取材于MATLAB,模仿MATLAB构建
Matplotlib库的效果 http://matplotlib.org/gallery.html
为什么要学习matplotlib?
1.能将数据进行可视化,更直观的呈现
2.使数据更加客观、更具说服力
2 matplotlib.pyplot函数库简介
1️⃣ Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发。
2️⃣matplotlib.pyplot是绘制各类可视化图形的命令子库,相当于快捷方式。
3️⃣pyplot中的每一个函数都会对画布图像作出相应的改变,如创建画布、在画布中创建一个绘图区、在绘图区上画几条线、给图像添加文字说明等。matplotlib.pyplot中常见函数包含有plt.figure、plt.subplot以及plt.axes。
🔹Matplotlib库的使用
import matplotlib.pyplot as plt
plt.plot([2,1,3,5,4])
plt.show()
但是目前存在以下几个问题:
1.设置图片大小(想要一个高清大图)
2.保存到本地
3.描述信息,比如x轴和y轴表示什么,这个图表示什么
4.调整x或者y的刻度的间距
5.线条的样式(比如颜色,形状等)
6.标记出特殊的点(比如告诉别人最高点和最低点在哪里)
-
plt.figure()
使用plt.figure()函数创建一个全局绘图区域,其中可包含如下参数:figsize:设置图像的宽度和高度,单位为英寸
facecolor:设置图像背景颜色
dpi:设置绘图对象的分辨率
edgecolor:设置图像边框颜色
-
plt.xticks() /plt.yticks() 设置当前X轴/Y轴刻度位置的值
-
plt.subplot(nrows, ncols, plot_number)
subplot用于在全局绘图区域中创建自绘图区域,其中可包含如下参数:
nrows:subplot的行数
ncols:subplot的列数
plot_number:子图的位置
◾使用subplot可以规划figure划分为n个子图,但每条subplot命令只会创建一个子图 。
◾在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域。
🔹plt.subplot(nrows, ncols, plot_number)
-
plt.axes()
◾plt.axes(rect,facecolor=’w’)创建一个坐标系风格的子绘图区域。
◾ 默认创建一个subplot(111) 坐标系,参数rect=[left,bottom,width,height]中4个变量的范围都是[0,1],表示坐标系与全局绘图区域的关系。代码如下:
import matplotlib.pyplot as plt
plt.axes([0.1,0.1,0.7,0.3], facecolor='y')
plt.show()
🔹plt.axes()
- plt.subplots_adjust()
◾plt.subplots_adjust()用于调整子绘图区域的布局。常见语法如下:
plt.subplots_adjust(left=,bottom=,right=,top=, hspace=)
left: 画布中子图左边离y轴距离
bottom: 画布中子图下边离x轴距离
right: 画布中子图右边离y轴距离
top: 画布中子图上边离x轴距离
hspace:子图之间的距离
3 matplotlib.pyplot相关函数简介
在matplotlib.pyplot 库中有plt子库,该子库提供了7个用于读取和显示的函数, 17个用于绘制基础图表的函数,3个区域填充函数,9个坐标轴设置函数以及11个标签与文本设置函数
3.1 plt.plot(x, y, format_string, **kwargs)
plt.plot(x, y, format_string, **kwargs)
x: X轴数据,列表或数组,可选。
y: Y轴数据,列表或数组。
format_string: 控制曲线的格式字符串,可选。
**kwargs: 第二组或更多(x, y, format_string)
当绘制多条曲线时,各条曲线的x不能省略。
format_string: 控制曲线的格式字符串,可选。
由颜色字符、风格字符和标记字符组成
**kwargs: 第二组或更多(x, y, format_string)
color: 控制颜色,color = ‘green’
linestyle: 线条风格,linestyle =‘--’或 ‘dashed’
linewidth: 线条宽度,linewidth = 3
marker: 标记风格,marker = ‘o’
markerfacecolor: 标记颜色,markerfacecolor = ‘blue’
markersize: 标记尺寸,markersize = 20
3.2 plt.title()
fontsize:设置字体大小
fontproperties:设置字体格式
fontweight:设置字体粗细 (‘light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’)
fontstyle:设置字体类型(‘normal’, ‘italic’ , ‘oblique’)
rotation:旋转角度 vertical, horizontal或数字
backgroundcolor:标题背景颜色
import matplotlib.pyplot as plt
fig = plt.figure(figsize = (8,6), dpi = 50)
x = range(0,10,2)
y = [2,1,3,5,4]
plt.plot(x,y,color = 'g', linestyle = '-.',linewidth = 3,
marker = 'h', markerfacecolor = 'c', markersize = 15)
plt.xticks(x)
plt.yticks(range(min(y),max(y)+1))
plt.title('示例', fontproperties = 'Kaiti', fontsize = 25, backgroundcolor = 'c')
plt.show()
3.3 plt.xlabel()/ylabel()
fontsize:设置字体大小
fontproperties:设置字体格式
rotation:旋转角度 vertical, horizontal或数字
backgroundcolor:背景颜色
import matplotlib.pyplot as plt
fig = plt.figure(figsize = (8,6), dpi = 50)
x = range(0,10,2)
y = [2,1,3,5,4]
plt.plot(x,y,color = 'g', linestyle = '-.',linewidth = 3,
marker = 'h', markerfacecolor = 'c', markersize = 15)
plt.xticks(x)
plt.yticks(range(min(y),max(y)+1))
plt.title('示例', fontproperties = 'Kaiti', fontsize = 25)
plt.xlabel('X轴', fontproperties = 'Kaiti', fontsize = 20)
plt.ylabel('Y轴', fontproperties = 'Kaiti', fontsize = 20)
plt.show()
3.4 plt.legend()
3.5 pyplot的中文显示
3.5.1 第一种方法
pyplot并不默认支持中文显示,需要rcParams修改字体实现。
rcParams的属性
3.5.2 第二种方法
在有中文输出的地方,增加一个属性:fontproperties
3.6 pyplot的文本显示
文本显示函数
plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)
3.7 pyplot的子绘图区域
plt.subplot2grid()
plt.subplot2grid(GridSpec, CurSpec, colspan = 1, rowspan = 1)
理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始。
plt.subplot2grid((3,3),(1,0),colspan=2)
4. pyplot的基础图表函数
5. numpy和matplotlib绘图综合应用