1.初识matplotlib
#matplotlib库操作
import matplotlib.pyplot as plt
#创建图表1 dpi设置图表大小
plt.figure(1, dpi=50)
#创建子图表 2*2的图标矩阵 绘制的子图为矩阵的3序号
plt.subplot(2, 2, 3)
#显示四个子图
plt.subplot(2, 2, 1)
plt.subplot(2, 2, 2)
plt.subplot(2, 2, 4)
#创建图表2
'''
plt.figure(2, dpi=150)
#3*3矩阵
plt.subplot(3, 3, 1)
plt.subplot(3, 3, 2)
plt.subplot(3, 3, 3)
plt.subplot(3, 3, 4)
plt.subplot(3, 3, 5)
plt.subplot(3, 3, 6)
plt.subplot(3, 3, 7)
plt.subplot(3, 3, 8)
plt.subplot(3, 3, 9)
'''
#显示所有图表
plt.show()
2.绘制函数图形
import matplotlib.pyplot as plt
import numpy as np
#创建图表
plt.figure(1, dpi=50)
#画函数图像 plot(x,y) 的 x 参数表示x值,y参数表示y值
#x 轴定义域-3.14-3.14 间隔100
x = np.linspace(-np.pi, np.pi, 100)
plt.plot(x, np.sin(x))
plt.show()
3.子图中绘图
import matplotlib.pyplot as plt
import numpy as np
#创建图表 大小50
plt.figure(1, dpi=50)
#创建两个子图
sub1 = plt.subplot(2, 1, 1)
sub2 = plt.subplot(2, 1, 2)
#函数绘图
#x 定义域[0, 10] 间隔100
x = np.linspace(0, 10, 100)
#选择子图sub1
plt.sca(sub1)
#在子图中绘制函数exp(x)
plt.plot(x, np.exp(x))
#选择子图sub2
plt.sca(sub2)
#绘制sin(x)
plt.plot(x, np.sin(x))
plt.show()
4.一张表画多条线
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1, dpi=50)
#x 定义域[-2pi, 2pi] 间隔100
x = np.linspace(-2 * np.pi, 2 * np.pi, 100)
#画四条线
for i in range(1, 5):
plt.plot(x, np.cos(x/i))
plt.show()
5.直方图
import matplotlib.pyplot as plt
import numpy as np
plt.figure(1, dpi=50)
data = [2, 3, 4, 1, 2, 4, 2, 4, 2, 5, 6, 3, 6, 4, 5, 6, 4]
#此函数是画直方图
plt.hist(data)
plt.show()
6.散点图
#散点图用 scatter(x,y) 绘制,x参数传入x轴的坐标,y参数传入 y 轴坐标
import matplotlib.pyplot as plt
import numpy as np
#测试数据
x = np.arange(1, 10)
y = np.sin(x)
plt.figure(1, dpi=50)
#c = 'r' 表示散点为红色 marker = 'o'表示指定散点形状为圆形
plt.scatter(x, y, c = 'r', marker = 'o')
plt.show()
7.饼图pie()
#pie()饼图
import matplotlib.pyplot as plt
import numpy as np
#数据
data = [100, 500, 300, 200, 400]
plt.figure(dpi=100)
plt.pie(
data, #每个饼的实际数据 若大于1 会进行归一化 计算百分比
explode = [0.0, 0.0, 0.1, 0.2, 0.8], #每个饼块离中心距离
colors=['y', 'r', 'g', 'b', '#91e8e1'], #每个饼块的颜色
labels=['A', 'B', 'C', 'D', 'E'], #每个饼块的标签
labeldistance=0.8, #每个饼块标签离中心的距离
autopct='%1.1f%%', #百分比的显示模式
pctdistance=0.4, #百分比离中心的距离
shadow=True, #每个饼块是否显示阴影
startangle=0, #默认从x正半轴逆时针起
radius=1 #饼块半径
)
plt.show()
8.图表参数设置
#图表的注释和标识
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure(dpi=100)
x = np.linspace(0, 10, 100)
#设置一个label 显示图例
plt.plot(x, np.sin(x), label="sin(x)")
#显示x轴文字
plt.xlabel("X axe")
#显示Y轴
plt.ylabel("Y axe")
#设置图表的标题
plt.title("function sin(x)")
#显示图例
plt.legend()
plt.show()
9. 加载文件并绘图
#加载txt文件并绘图
import matplotlib.pyplot as plt
import numpy as np
#加载txt文件 分隔符,
data = np.loadtxt('data_test.txt', delimiter=',')
#ro表示每个数据在图表中显示红色圆点
#冒号左边是行范围,冒号右边列范围
#第一维全取,第二维取第0个和 第一个方向
plt.plot(data[:, 0], data[:, 1], 'ro')
plt.show()
data_test.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