当前位置:   article > 正文

python人工智能教程——Matplotlib入门_ax.plot camp='rainbow

ax.plot camp='rainbow

关于Matplotlib

Matplotlib是python中开源的用于绘图的工具包,具有强大的数据可视化功能。

二维图像绘制

显示连续二维图像:

# 导入numpy和matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import numpy as np
import matplotlib.pyplot as plt


# 建立坐标系
fig = plt.figure()

# 生成-1010间隔为0.1的等差数组
# 通过cos函数生成对应的y数组
x = np.arange(-10, 10, 0.1)
y = np.cos(x)

# 设置图像标题和x轴y轴的名字
plt.title('demo1')
plt.xlabel('X')
plt.ylabel('Y')

# 传入参数,画图
plt.plot(x, y)

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

输出:
请添加图片描述
注:
如果不写plt.show()是显示不出来图像的。

显示离散二维图像:

# 导入numpy和matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import numpy as np
import matplotlib.pyplot as plt


# 建立坐标系
fig = plt.figure()

# 生成-1010间隔为0.1的等差数组
# 通过cos函数生成对应的y数组
x = np.arange(-10, 10, 0.5)
y = np.cos(x)

# 设置图像标题和x轴y轴的名字
plt.title('demo2')
plt.xlabel('X')
plt.ylabel('Y')

# 传入参数,画图
# *表示用*画出来
# c表示是青色
plt.plot(x, y, '*c')

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

输出:
请添加图片描述
注:
这里在plot时加入了新的参数,该参数用于表示我们用什么样的形式去画图。以下图表是其中一些字符的含义。还有很多字符有含义,如果大家感兴趣可以csdn一下。

字符含义
-实线
短横线
-.点划线
:虚线
.
,像素
*星型
o
b
g绿
r
c
m品红
y
k
w

显示图片

# 导入matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import matplotlib.pyplot as plt


# 读取图片,放入自己图片的名字
img = plt.imread('./test.png')

# 显示图片
plt.imshow(img)

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

输出:
请添加图片描述

三维图像绘制

生成三维坐标系:

# 导入numpy和matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import numpy as np
import matplotlib.pyplot as plt

# 建立坐标系
fig = plt.figure()

# 设置图像的轴为3d
ax = plt.axes(projection='3d')

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

输出:
请添加图片描述
三维图像绘制示例

# 导入numpy和matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import numpy as np
import matplotlib.pyplot as plt

# 建立坐标系
fig = plt.figure()

# 设置图像的轴为3d
ax = plt.axes(projection='3d')

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)

# 将x,y变为形状一样的二维数组
x, y = np.meshgrid(x, y)

# np.exp(a)是e的a次方的意思
# x ** 2 表示x的平方
z = np.exp(100 - x ** 2 - y ** 2)

# 绘制图像, camp表示图形样式
ax.plot_surface(x, y, z, cmap='rainbow')

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

输出:
请添加图片描述
注:
这里x,y,z都是二维数组。
如果大家搞不明白np.meshgrid(x, y),以下示例可以方便大家理解。

x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)

# 将x,y变为形状一样的二维数组
x, y = np.meshgrid(x, y)

print('x:\n', x)
print('y:\n', y)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输出:

x:
 [[-5.  -4.9 -4.8 ...  4.7  4.8  4.9]
 [-5.  -4.9 -4.8 ...  4.7  4.8  4.9]
 [-5.  -4.9 -4.8 ...  4.7  4.8  4.9]
 ...
 [-5.  -4.9 -4.8 ...  4.7  4.8  4.9]
 [-5.  -4.9 -4.8 ...  4.7  4.8  4.9]
 [-5.  -4.9 -4.8 ...  4.7  4.8  4.9]]
y:
 [[-5.  -5.  -5.  ... -5.  -5.  -5. ]
 [-4.9 -4.9 -4.9 ... -4.9 -4.9 -4.9]
 [-4.8 -4.8 -4.8 ... -4.8 -4.8 -4.8]
 ...
 [ 4.7  4.7  4.7 ...  4.7  4.7  4.7]
 [ 4.8  4.8  4.8 ...  4.8  4.8  4.8]
 [ 4.9  4.9  4.9 ...  4.9  4.9  4.9]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

三维离散图像绘制示例

# 导入numpy和matplotlib包
# pyplot是matplotlib里的子模块,常用于画图
import numpy as np
import matplotlib.pyplot as plt

# 建立坐标系
fig = plt.figure()

# 设置图像的轴为3d
ax = plt.axes(projection='3d')

# 产生1000~1的随机数,然后乘以20
z = 20 * np.random.random(100)

# 由z生成x,y
x = np.sin(z)
y = np.cos(z)

# 绘制散点图
ax.scatter3D(x, y, z)

# 显示出来
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

输出:
请添加图片描述
注:
这里x,y,z都是一维数组。
请添加图片描述

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号