转自:https://blog.csdn.net/sa14023053/article/details/51835034
导入绘图包
import matplotlib.pyplot as plt
import numpy as np
- 1
- 2
使用from pylab import *
一次导入matplotlib.pyplot和numpy也可以,但是不推荐,推荐像上面一样分别导入,以防导入中出现错误而难以检查。
生成模拟数据点
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)
- 1
- 2
- arange()类似于内置函数range(),通过指定开始值、终值和步长创建表示等差数列的一维数组,注意得到的结果数组不包含终值。
- linspace()通过指定开始值、终值和元素个数创建表示等差数列的一维数组,可以通过endpoint参数指定是否包含终值,默认值为True,即包含终值。
绘图
# 创建一个 8 * 6 点(point)的图,并设置分辨率为 80
figure(figsize=(8,6), dpi=80)
# 创建一个新的 1 * 1 的子图,接下来的图样绘制在其中的第 1 块(也是唯一的一块)
subplot(1,1,1)
X = np.linspace(-np.pi, np.pi, 256,endpoint=True)
C,S = np.cos(X), np.sin(X)
# 绘制余弦曲线,使用蓝色的、连续的、宽度为 1 (像素)的线条
plot(X, C, color="blue", linewidth=1.0, linestyle="-")
# 绘制正弦曲线,使用绿色的、连续的、宽度为 1 (像素)的线条
plot(X, S, color="green", linewidth=1.0, linestyle="-")
# 设置横轴的上下限
xlim(-4.0,4.0)
# 设置横轴记号
xticks(np.linspace(-4,4,9,endpoint=True))
# 设置纵轴的上下限
ylim(-1.0,1.0)
# 设置纵轴记号
yticks(np.linspace(-1,1,5,endpoint=True))
# 以分辨率 72 来保存图片
# savefig("exercice_2.png",dpi=72)
# 在屏幕上显示
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
- 27
- 28
- 29
- 30
- 31
- 32
绘图过程关键步骤
- 1、要定义一个
figure
matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=<class 'matplotlib.figure.Figure'>,**kwargs)
figure(figsize=(8,6), dpi=80)
- 1
这里只指定了figure大小,分辨率dpi,还有下面的参数:
num:figure对象标记
facecolor:背景颜色
edgecolor:边框颜色
-
2、用
plot
在figure
上画点matplotlib.pyplot.plot(*args, **kwargs)
- 1
plot
传入序列数据,传入一个序列的时候,横轴显示的是序列里元素的索引,纵轴显示的是序列里的数字,传入两个序列的时候,取最短的那个序列长度,在横轴和纵轴上画点。有如下参数:
线条属性:实线,虚线,点横线等等
线条标记:点,正方形,星型
线条颜色:蓝,红,青,绿,黄,黑
- 3、设置横轴、纵轴上下限以及刻度
xlim(-4.0,4.0)
ylim(-1.0,1.0)#起始点和结束点
xticks(np.linspace(-4,4,9,endpoint=True))
yticks(np.linspace(-4,4,9,endpoint=True))#刻度,传入的参数是列表List,如果要显示字符,就传入两个列表,一个是刻度,一个是要显示在坐标轴上的字符。
- 1
- 2
- 3
- 4
- 5
- 4、显示或者保存图片
savefig("exercice_2.png",dpi=72)
show()
--------------------- 本文来自 搬砖小工053 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/sa14023053/article/details/51835034?utm_source=copy