python:使用matplotlib库绘制图像(一)

作者是跟着http://t.csdnimg.cn/4fVW0学习的,matplotlib系列文章是http://t.csdnimg.cn/4fVW0的自己学习过程中整理的详细说明版本,对小白更友好哦!

一、Matplotlib图像基础

1.1  基本绘图实例:sin、cos函数图

代码详解:

1. from pylab import *:导入pylab库中所有函数和变量。pylab是一个python库,它集成了matplotlib和numpy库,提供了一个更简洁的接口来绘制图形。

2. import numpy as np:导入numpy库。

3. import matplotlib.pyplot as plt:导入了matplot库的pyplot模块,pylot是一个绘图接口,提供了方便的绘制函数和命令。

4. x = np.linspace(-np.pi, np.pi, 256, endpoint=True):使用numpy的linspace函数创建了一个从-π到π的等间距数组,共有256个元素。endpoint=True表示包含π。

5. c, s = np.cos(x), np.sin(x):使用numpy创建cos(x),sin(x)函数

6. plt.plot(x, c):使用pyplot的plot函数绘制了余弦函数的图形。

from pylab import *
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
c, s = np.cos(x), np.sin(x)

plt.plot(x, c)
plt.plot(x, s)

show()

1.2 plot()函数详解

plot()函数是matplotlib中用于绘制线图的主要函数。

plot()函数的参数包括(按照参数书写顺序):

1. x:x轴上的点。

2. y:y轴上的点。

3. color:定义线的颜色,'blue', 'green', 'red'等。

4. linewidth:定义线的宽度。

5. linestyle:定义线的样式,'-'表示实线,':'表示虚线,'--'表示双虚线。

6. marker:定义数据点的标记形状,'o'表示圆点,'s'表示正方形等。

7. markercolor:定义标记的颜色。

8. markersize:定义标记的大小。

9. alpha:定义线的透明度,值在0~1之间。

10. label:用于图例的标签。

11. 其他参数:如title,xlabel,ylabel等。

matplotlib颜色对照表:http://t.csdnimg.cn/4a8PA 

from pylab import *
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
c, s = np.cos(x), np.sin(x)

plt.plot(x, c, 'b|-')
plt.plot(x, s)

show()


1.3 matplotlib中绘图的默认配置

代码详解:

  1. figure(figsize=(8, 6), dpi=80): 这行代码创建了一个新的图形窗口,并设置了窗口的大小和分辨率。figsize参数指定了窗口的宽度和高度,dpi参数指定了分辨率

  2. subplot(1, 1, 1): 这行代码在当前图形窗口中创建了一个新的子图。subplot函数可以创建一个子图网格,这里我们创建了一个1行1列的网格,所以只有一个子图。

  3. xticks(np.linspace(-4, 4, 9, endpoint=True), fontproperties='Times New Roman', size=20): 这行代码设置了x轴的刻度标记,并指定了刻度标记的字体和大小

  4. yticks(np.linspace(-1, 1, 5, endpoint=True)):np.linspace(-1, 1, 5, endpoint=True)是一个numpy函数,它创建了一个等间距的数组,从-1开始,到1结束,包含5个元素。由于endpoint=True,-1和1本身也会作为刻度标记,所以总共有5个刻度标记(-1, -0.5, 0, 0.5, 1)。

from pylab import *
import numpy as np
import matplotlib.pylab as plt

# 创建一个8*6点(point)的图,并设置分辨率为80
figure(figsize=(8, 6), dpi=80)

# 创建一个新的1*1的子图,接下来的图样绘制在其中的第一块中
subplot(1, 1, 1)

# 得到坐标点(x,y)坐标
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

# 绘制余弦曲线,使用蓝色的、连续的、宽度为2.5的线条
plot(X, C, color='blue', linewidth=2.5, linestyle='-')

# 绘制正弦曲线,使用绿色的、连续的、宽度为2.0的线条
plot(X, S, color='green', linewidth=2.0, linestyle='-')

# 设置横轴的上下限
xlim(-4.0, 4.0)

# 设置横轴记号
xticks(np.linspace(-4, 4, 9, endpoint=True), fontproperties='Times New Roman', size=20)

# 设置纵轴记号
yticks(np.linspace(-1, 1, 5, endpoint=True))

#设置横纵坐标的名称以及对应字体格式
font = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 20,
}

# 设置横轴标签
plt.xlabel('X axis', font)

# 设置纵轴标签
plt.ylabel('Y axis', font)

# 设置图像标题
plt.title('Demo Figure', font)

# 以分辨率72来保存图片
savefig('demo.png', dpi=72)

# 在屏幕上显示
show()


1.4 设置图的横纵坐标的上下界

代码详解:

  1. x_min, x_max = X.min(), X.max(): 这行代码计算了x轴上的最小值和最大值,并将它们存储在变量x_minx_max中。

  2. c_min, c_max = C.min(), C.max(): 这行代码计算了余弦函数上的最小值和最大值,并将它们存储在变量c_minc_max中。

  3. s_min, s_max = S.min(), C.max(): 这行代码计算了正弦函数上的最小值和最大值,并将它们存储在变量s_mins_max中。

  4. y_min, y_max = min(c_min, s_min), max(c_max, s_max): 这行代码计算了y轴上的最小值和最大值,这些值是余弦和正弦函数的最小值和最大值中的较小者和较大者。

  5. dx = (x_max - x_min) * 0.2: 这行代码计算了x轴上下界偏移量的一半,这将用于调整x轴的范围,以便更美观地显示图像。

  6. dy = (y_max - y_min) * 0.2: 在matplotlib中,xlimylim函数用于设置坐标轴的上下限。默认情况下,这些函数会直接使用数据的最小值和最大值作为坐标轴的上下限,但是有时候,为了使图形看起来更加美观或者为了更好地展示数据,你可能需要稍微调整这些值。例如,如果你有一个数据集,它的x轴范围是[1, 10],y轴范围是[0, 100],那么x_max - x_min将是9,y_max - y_min将是99。如果你设置dxdy(x_max - x_min) * 0.2(y_max - y_min) * 0.2,那么x轴的上下限将变为[1 - 0.2, 10 + 0.2],即[0.8, 10.2],y轴的上下限将变为[0 - 0.2, 100 + 0.2],即[-0.2, 100.2]。

from pylab import *
import numpy as np

# 得到坐标点(x,y)坐标
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
C, S = np.cos(X), np.sin(X)

x_min, x_max = X.min(), X.max()
c_min, c_max = C.min(), C.max()
s_min, s_max = S.min(), C.max()
y_min, y_max = min(c_min, s_min), max(c_max, s_max)

# 设置横纵坐标上下界的偏移量,这样能够完整的显示图像且最美观
dx = (x_max - x_min) * 0.2
dy = (y_max - y_min) * 0.2

# 设置上下限
xlim(x_min - dx, x_max + dx)
ylim(y_min - dy, y_max + dy)

# 绘制余弦曲线,使用蓝色的、连续的、宽度为1的线条
plot(X, C, color='blue', linewidth=2.5, linestyle='-')

# 绘制正弦曲线,使用绿色的、连续的、宽度为1的线条
plot(X, S, color='green', linewidth=2.0, linestyle='-')

show()



 

内容太多,下一篇继续! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值