1. plt.figure() 函数
import matplotlib.pyplot as plt
plt.figure(figsize=(6,4),facecolor=‘#ccc’)
plt.show()
该代码创建了一个空白区域,大小为6*4,背景颜色为灰色。
2.plt.subplot()函数
import matplotlib.pyplot as plt
fig=plt.figure()
fig1=fig.add_subplot(3,3,1)
fig2=fig.add_subplot(3,3,2)
fig3=fig.add_subplot(3,3,3)
fig4=fig.add_subplot(3,3,4)
fig5=fig.add_subplot(3,3,5)
fig6=fig.add_subplot(3,3,6)
fig7=fig.add_subplot(3,3,7)
fig8=fig.add_subplot(3,3,8)
fig9=fig.add_subplot(3,3,9)
plt.show()
改代码用subplot划分子区域并显示所有子图:
3.plt.axes()函数:plt.axes(rect)创建一个坐标系风格的子绘图区域。默认创建一个subplot(111) 坐标系,参数rect=[left,bottom,width,height]中4个变量的范围都是[0,1]
import matplotlib.pyplot as plt
#创建一个宽12,高6的空白图像区域
fig=plt.figure(figsize=(12,6))
##rect可以设置子图的位置与大小
rect1 = [0.10, 0.55, 0.65, 0.35] # [左, 下, 宽, 高] 规定的矩形区域 (全部是0~1之间的数,表示比例)
rect2 = [0.10, 0.10, 0.65, 0.35]
rect3 = [0.80, 0.10, 0.15, 0.80]
#在fig中添加子图ax,并赋值位置rect
ax1 = plt.axes(rect1)
ax2 = plt.axes(rect2)
ax3 = plt.axes(rect3)
plt.show()
plt.close()
4.plt.subplots_adjust():用于调整子绘图区域的布局。常见语法如下:
例如:plt.subplots_adjust(left=0.2,bottom=0.1,right=0.8,top=0.8, hspace=0.5)
5.plot相关函数
(1)绘制基本图表
代码如下:
import matplotlib.pyplot as plt
import numpy as np
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
plt.plot(xpoints, ypoints)
plt.show()
(2)只想绘制两个坐标点,而不是一条线,可以使用 o 参数,表示一个实心圈的标记:
import matplotlib.pyplot as plt
import numpy as np
xpoints = np.array([1, 8])
ypoints = np.array([3, 10])
plt.plot(xpoints, ypoints, 'o')
plt.show()
以上代码输出结果:
(3)绘制一条不规则线,坐标为 (1, 3) 、 (2, 8) 、(6, 1) 、(8, 10),对应的两个数组为:[1, 2, 6, 8] 与 [3, 8, 1, 10]。
import matplotlib.pyplot as plt
import numpy as np
xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])
plt.plot(xpoints, ypoints)
plt.show()
(4)绘制一个正弦和余弦图,代码如下:
6.绘图标记:使用 plot() 方法的 marker 参数来定义:
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])
plt.plot(ypoints, marker = 'o')#marker值还可以是'*',"H"六边形,"_"横线等
plt.show()
此外,可以自定义标记的大小与颜色,使用的参数分别是
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = '#4CAF50', mfc = 'r')#定义标记的样式,大小,边 框颜色,内部颜色
plt.show()
7.绘图线:线的类型可以使用 linestyle 参数来定义,简写为 ls;线的颜色可以使用 color 参数来定义,可以简写为 c,线的宽度可以用linestyle表示
import matplotlib.pyplot as plt
import numpy as np
ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, linestyle = 'dotted')#也可简写为:linestyle = '·'
plt.show()
7.绘制多条线
import matplotlib.pyplot as plt
import numpy as np
x1 = np.array([0, 1, 2, 3])
y1 = np.array([3, 7, 5, 9])
x2 = np.array([0, 1, 2, 3])
y2 = np.array([6, 2, 13, 10])
plt.plot(x1, y1, x2, y2)
plt.show()
8.可以使用 xlabel() 和 ylabel() 方法来设置 x 轴和 y 轴的标签,使用 title() 方法来设置标题 ,loc 参数来表示定位
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)
plt.title("TEST TITLE")
plt.xlabel("x - label",loc="left")
plt.ylabel("y - label",loc="top")
plt.show()
8.网格线:使用 pyplot 中的 grid() 方法来设置图表中的网格线。matplotlib.pyplot.grid(b=None, which='major', axis='both', )
参数说明:
import numpy as np
import matplotlib.pyplot as plt
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")
plt.plot(x, y)
plt.grid(color = 'r', linestyle = '--', linewidth = 0.5)
plt.show()