Matplotlib 速学手册

Matplotlib

  如果在jupyter notebook上写代码,要加上%matplotlib inline这个魔法开关,否则只会将图像当作对象保存,而不显示图像。加上%matplotlib inline之后,就可以将图像呈现出来。

1 Matplotlib plot 函数图

  以 y = x 3 + 1 y=x^3+1 y=x3+1 为例子,绘制函数图像,如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1, 1, 100)     # 在区间[-1, 1]中,生成步长相同的100个点。也可以用x = np.arange(101)生成100个整数点。
y = x ** 3 + 1                  # 将点带入函数。
plt.plot(x, y)                  # plot()函数根据点生成连续函数。参数接受x值与y值两个数组。
plt.savefig("D:/三次函数.png")   # savefig()函数保存图像。要在show()函数之前,否则容易导致保存图片为空白。
plt.show()                      # show()函数显示图像。

输出图像如下:
在这里插入图片描述
  在Matplotlib中,plot()函数根据点,描绘出连续函数图像。plot()函数中,还可以接受描述函数图像的参数:color=' '函数线的颜色,linewidth=' '函数线的宽度,linestyle=' '函数线的形式。

  以 y = x 3 + 1 y = x^3+1 y=x3+1 y = e x y = e^x y=ex为例,如下:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-1, 1, 100)         # 在区间[-1, 1]中,平均生成100个点。
y1 = x**3 + 1                       # 定义三次函数。
y2 = np.e**x                        # 定义e ** x 函数
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')                
plt.plot(x, y2, color='blue', linewidth=1.0, linestyle='-')
plt.savefig("D:/函数样式图.png")     # savefig()保存图像
plt.show()                          # show()函数显示图像。

输出图像如下:
在这里插入图片描述

2 背景网格线

  使用plt.grid(True)函数为图添加网格线,参数默认值为Ture,可省略不写。

import matplotlib.pyplot as plt
import numpy as np

# plt模块中有一个grid函数,其中默认值为True
x = np.arange(-np.pi, np.pi, 0.01)
plt.plot(x, np.sin(x), x, np.cos(x))  # 参数数值个数为偶数时,则为成对(x, y);
plt.grid()    # 添加网格背景   
plt.show()

在这里插入图片描述

3 Matplotlib 幕布设置

  Matplotlib中,figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)函数用来规划作图的背景参数。包括制图区域背景的大小,颜色,范围等。
  num:图像编号或名称,数字为编号 ,字符串为名称。
  figsize:指定figure的宽和高,单位为英寸;1英寸等于2.5cm,A4纸是 21*30cm的纸张 。如:figsize=(4, 3)。
  dpi:参数指定绘图对象的分辨率,即每英寸多少个像素。默认值为80。
  facecolor:背景颜色,查图普。范围是’#000000’~’#FFFFFF’。
  edgecolor:边框颜色。
  frameon:是否显示边框。

  可用figure()函数,将图像分别成像在单独的区域中,例如:

import numpy as np
import matplotlib.pyplot as plt

# 创建一个大幕布,在幕布上作图,更容易操作
plt.figure(figsize=(15, 4), facecolor='pink')

x = np.arange(-2*np.pi, 2*np.pi, 0.1)

# 创建一个子视图,将幕布分成2行3列,此图像占第1个位置.
axes1 = plt.subplot(2, 3, 1)
axes1.plot(x, np.sin(x))

# 幕布按2行3列分,图像占第4个位置.
axes2 = plt.subplot(2, 3, 4)
axes2.plot(x, np.cos(x))

# 幕布按1行3列分,图像占第2个位置.
axes3 = plt.subplot(1, 3, 2)
axes3.plot(x, np.sin(x))

# 幕布按1行3列分,图像占第3个位置
axes4 = plt.subplot(1, 3, 3)
axes4.plot(x, np.sin(x))

plt.show()

图像输出如下:
在这里插入图片描述

4 Matplotlib subplot区域划分

  在Matplotlib中,subplot(numbRow,numbCol,plotNum)函数表示将图像放在什么位置。参数依次为第几行,第几列,第几个。其中参数之间的逗号可以省略不写。 一个简单的例子,具体如下:

import matplotlib.pyplot as plt
import numpy as np

plt.figure()              # 创建表格绘制区域。
plt.subplot(2, 2, 1)      # 划分表格绘制区域为2行2列,此图像站在第1个位置。
plt.plot([0, 1], [0, 1])  # 传递对应的x与y值。

plt.subplot(2, 2, 2)      # 划分表格绘制区域为2行2列,此图像站在第2个位置。
plt.plot([0, 1], [0, 1])  # 传递对应的x与y值。

plt.subplot(223)          # 同上不加逗号依然可以识别。
plt.plot([0, 1], [0, 1])

plt.subplot(224)
plt.plot([0, 1], [0, 1])

plt.figure()               # 再创建一个表格绘制区域。
plt.subplot(2, 1, 1)       # 划分表格绘制区域为2行1列,此图像站在第1个位置。
plt.plot([0, 1], [0, 1])

plt.subplot(2, 3, 4)       # 划分表格绘制区域为2行3列,此图像站在第4个位置。
plt.plot([0, 1],
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值