1.绘制第一幅图表
(1)figure函数,创建图表
(2)subplot函数,创建子图
(3)在多个图表中创建子图
(4)plot()函数,画函数图像
(5)sca()函数,选择子图
(6)在 一张表中画多个曲线
2.直方图
3.散点图
4.饼图
5.图表的注释与标识
6.加载txt文件并绘图
1.绘制第一幅图表
(1)figure()函数,创建图表
import matplotlib.pyplot as plt
plt.figure(1) #创建图表1
plt.figure(2) #创建图表2
plt.show() #显示所有图表
执行效果:
(2)subplot() 创建子图
import matplotlib.pyplot as plt
plt.figure(1) #创建图表1
plt.subplot(223) #创建2*2的图表矩阵,绘制的子图为矩阵中的3序号
plt.show() #显示所有图表
执行结果:
子图的序号排序顺序是:从左到右,然后从上到下,逐次增加1
例如:subplot(2,2,1) 就是子图在上图的序号1的位置。
有如:显示四个子图
import matplotlib.pyplot as plt
plt.figure(1,dpi=50) #创建图表1,dpi为设置图表的大小,默认dpi=80
plt.subplot(221)
plt.subplot(222)
plt.subplot(223)
plt.subplot(224)
plt.show() #显示所有图表
执行结果:
(3)在多个表中创建子图
import matplotlib.pyplot as plt
plt.figure(1,dpi=50) #创建图表1
plt.subplot(111) #在图表1中创建子图
plt.figure(2,dpi=50) #创建图表2
plt.subplot(221) #在图表2中创建子图
plt.show() #显示所有图表
执行结果:
(4)plot()函数,画函数图像
plot(x,y) 的 x 参数表示x值,y参数表示y值
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1,dpi=50)
x= np.linspace(-np.pi,np.pi,100) # x轴的定义域为 -3.14~3.14,中间间隔100个元素
plt.plot(x,np.sin(x))
plt.show()
执行效果:
(5)sca()函数,选择子图
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1,dpi=50)
ax1 = plt.subplot(211) #创建子图 ax1
ax2 = plt.subplot(212) #创建子图 ax2
x = np.linspace(0,10,100) # x轴定义域
plt.sca(ax1) #选择子图ax1
plt.plot(x,np.exp(x)) #在子图ax1 中绘制函数 exp(x)
plt.sca(ax2) #选择子图ax2
plt.plot(x,np.sin(x)) #在子图ax2 中绘制函数 sin(x)
plt.show() #展示所有图表
执行效果:
(6)在一张表中画多个曲线
import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-np.pi*2,np.pi*2,100) #定义域为: -2pi 到 2pi
plt.figure(1,dpi=50) #创建图表1
for i in range(1,5): #画四条线
plt.plot(x,np.sin(x/i))
plt.show()
执行效果:
2.直方图
使用 hist()函数:
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1,dpi=50) # 创建图表1
data = [1,1,1,2,2,2,3,3,4,5,5,6,4]
plt.hist(data) #只要传入数据,直方图就会统计数据出现的次数
plt.show()
执行效果:
3.散点图
散点图用 scatter(x,y) 绘制,x参数传入x轴的坐标,y参数传入 y 轴坐标
import numpy as np
import matplotlib.pyplot as plt
#产生测试数据
x = np.arange(1,10)
y = x
fig = plt.figure()
plt.scatter(x,y,c = 'r',marker = 'o') #c = 'r'表示散点的颜色为红色,marker 表示指定三点多形状为圆形
#显示所画的图
plt.show()
执行效果:
4.饼图
通过 pie()函数
import numpy as np
import matplotlib.pyplot as plt
data = [100,500,300] #饼图中的数据
fig = plt.figure(dpi=80)
plt.pie(data, # 每个饼块的实际数据,如果大于1,会进行归一化,计算percentage
explode=[0.0,0.0,0.1], # 每个饼块离中心的距离
colors=['y','r','g'], # 每个饼块的颜色,黄红绿
labels=['A part','B part','C part'], # 每个饼块的标签
labeldistance=1.2, # 每个饼块标签到中心的距离
autopct='%1.1f%%', # 百分比的显示格式
pctdistance=0.4, # 百分比到中心的距离
shadow=True, # 每个饼块是否显示阴影
startangle=0, # 默认从x轴正半轴逆时针起
radius=1 # 饼块的半径
)
plt.show()
执行效果:
5.图表的注释与标识
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(dpi=80)
x = np.linspace(0,10,100)
plt.plot(x,np.sin(x),label="sin(x)") #先设置一个label用于显示图例
plt.xlabel("X axe") #设置X轴的文字
plt.ylabel("Y axe") #设置Y轴的文字
plt.title("sin(x) function") #设置图的标题
plt.legend() #显示图例。
plt.show()
执行效果:
6.加载txt文件并绘图
使用: numpy的 loadtxt()函数
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('1.txt',delimiter=',') #加载数据文件1.txt,数据间的分隔符为逗号','
plt.plot(data[:,0],data[:,1],'ro') #ro表示每个数据在图表上打印的是红色的圆点
plt.show()
执行效果:
附上1.txt文件:
0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0