Python学习笔记之matplotlib绘图

使用pip安装matplotlib:

pip install matplotlib

导入模块并起别名plt:

import matplotlib.pyplot as plt

简单绘图

plt.plot(x, y)    # 绘制y=f(x) 的图像
plt.show()    # 显示图像

多子图画图步骤

1、使用 figure() 函数创建画布

plt.figure(name)    # 传入字符串可为画布命名

2、使用 subplot() 函数在画布创建子图

plt.subplot(2, 1, 1)    # 创建2*1的子图,当前是第1个子图
#绘图1
plt.subplot(2, 1, 2)    # 当前在第2个子图,前两个参数和创建时一样
#绘图2

3、使用 plot() 函数画函数图像

plt.plot(x, y)    # x是一定范围内离散的数(点),y是x的函数值
plt.plot(x, y1, x, y2)   # 在同一坐标轴绘制多个函数图像

4、使用 show() 函数弹窗显示画布

plt.show()

样式:

plt.style.use()    # 传入'classic'引用经典样式,也可以引用其他样式
plt.plot(x, y, label='sin(x)', color='red', linewidth=1.0, linestyle='--', alpha=0.5)    # label 图像标签,color 指定颜色,linewidth 线宽,linestyle 线形,alpha 透明度

plt.title('title')    # 标题
plt.grid()    # 显示网格线
plt.legend(loc=0)    # 显示标签, loc控制位置

ax = plt.gca()    # 轴的编辑器
ax.spines['right'].set_color('none')    # 隐藏右边轴
ax.spines['left'].set_position(('data', 0))    # 设置左边轴位置:数据域0位置
plt.xticks(np.linspace(-np.pi, np.pi, 5), ['$-\pi$', '$-\pi/2$', '0', '$+\pi/2$', '$+\pi$'])    # 设置x轴标识

函数图像实例:

import matplotlib.pyplot as plt
import numpy as np

# 横轴取值范围-Π到Π,等间隔取20个点
x = np.linspace(-np.pi, np.pi, 20)
y1 = np.sin(x)
y2 = np.cos(x)

plt.figure()    # 创建画布

plt.subplot(3, 1, 1)    #创建3*1子图,当前在第1个子图
plt.plot(x, y1, '--', label='sin(x)')    # 使用plot()函数画y1函数图像
plt.legend()    # 显示标签

plt.subplot(3, 1, 2)    #当前在第2个子图
plt.plot(x, y2, 'o', color='orange', label='cos(x)')    # 使用plot()函数画y2函数图像
plt.legend()    

plt.subplot(3, 1, 3)    # 当前在第3个子图
plt.plot(x, y1, label='sin(x)')
plt.plot(x, y2, label='cos(x)')    # 使用plot()函数画y1和y2函数图像
plt.legend()
ax = plt.gca()
ax.spines['top'].set_color('none')    # 隐藏上边轴
ax.spines['right'].set_color('none')    # 隐藏右边轴
ax.spines['left'].set_position(('data', 0))    # 左边轴设置在0位置
ax.spines['bottom'].set_position(('data', 0))    # 下边轴设置在0位置
plt.xticks(np.linspace(-np.pi, np.pi, 5), ['$-\pi$', '$-\pi/2$', '0', '$+\pi/2$', '$+\pi$'])    # 设置x轴标识
plt.yticks(np.linspace(-1, 1, 5))    # 设置y轴标识

# 使用show()函数弹窗显示图形
plt.show()   

散点图

plt.scatter(x, y)

散点图实例:

import matplotlib.pyplot as plt
import numpy as np

plt.style.use('classic')    # 引用经典样式

x = np.random.rand(100)    # 生成100个[0, 1)随机数
y = np.random.rand(100)
colors = np.random.rand(100)
size = 1000*np.random.rand(100)

plt.scatter(x, y, c=colors, s=size, alpha=0.5)    # 绘制散点图
plt.colorbar()    # 显示颜色条

plt.show()

柱状图

plt.bar(x, y)

柱状图实例:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 10, 1)
y1 = 0.1*np.random.randint(3, 10, 10)
y2 = -0.1*np.random.randint(3, 10, 10)

plt.bar(x, y1)    # 绘制柱状图
plt.bar(x, y2)

plt.show()

3D

from mpl_toolkits.mplot3d import Axes3D   # 引入3D模块
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(x, y, z)    # 在3D空间中画图

3D散点图实例:

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np

x = np.random.rand(250)
y = np.random.rand(250)
z = np.random.rand(250)

fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(x, y, z)

plt.show()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值