y = 2x+1
#coding: utf-8
#date = 2022/9/10
"""
Matplotlib 支持丰富的样式,其中最基本的就是控制画出的图形颜色和线条的粗细
一般来说有以下几个原则:
画布的样式,通过设置 figure 函数的参数决定
子图的样式,通过设置 add_subplot 函数的参数决定
线条的样式,通过设置 plot 函数的参数决定
另外,在 Matplotlib 中,颜色往往由三个元素的列表来表示,分别代表颜色 R、G、B 三个通道的分量,范围都是 0-1
"""
#导入 Matplotlib 和 numpy
import matplotlib.pyplot as plt
import numpy as np
#准备图的数据源,array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
x_ranges = np.arange(0, 10)
#创建画布,plt.figure 函数可以创建一块画布,创建一个 10x10 大小的画布,并将其保存在变量 figure1 中
# 通过 figure 函数的 facecolor 参数设置画布颜色(红色)
figure1 = plt.figure(figsize=(10, 10), facecolor=[1, 0, 0])
#创建子图,add_subplot(行数,列数,当前子图索引)
"""
子图的布局是通过画布对象的 add_subplot 函数实现的,行数和列数代表子图的位置在画布中如何划分
比如如果是行数和列数都是 2 的话,代表把画纸拆分成 2x2,一共四个格子,每个格子可以放置一个子图
当前子图索引参数指的是告诉 Matplotlib 接下来要设置的是这个 2x2 的划分里的第几幅子图
这里要注意的是,当前子图索引和绝大多数 Python 索引不同,这里的索引是从 1 开始的,顺序对应网格的顺序是从左到右,从上到下
"""
#通过 add_subplot 函数的参数设置子图的颜色(蓝色)
ax1 = figure1.add_subplot(1,1,1, facecolor = [0, 0, 1])
#设置子图标题
plt.title("y = 2x +1")
#置坐标轴的属性
plt.xlabel("X")
plt.xlim([0, 20])
plt.ylabel("Y")
plt.ylim([0, 20])
#绘图
# 通过 plot 函数的 linewidth 参数设定线条的粗细,线条粗细变为 3
# 通过 color 参数来设定线条的颜色(绿色)
plt.plot(x_ranges, x_ranges * 2 + 1, linewidth = 3, color=[0,1,0])
#显示
plt.show()
运行结果:
y=sinx
#coding: utf-8
#author = hewangtong
#date = 2022/9/11
#导入 Matplotlib 和 numpy
import matplotlib.pyplot as plt
import numpy as np
#准备图的数据源
"""
plot 函数本质就是把数据源每个点用线连起来,所以我们只需要提供更“密集”的数据源,也就是提高采样的频率,就能够获得更平滑的曲线
这个例子来说,y 的数据是由 x 决定的,所以我们只需要提供一个间隔更小的 x_ranges 即可。之前的课程学过,numpy 的 arange 函数的第三个参数就是步长,默认是 1,这里我们只需要在同样的范围情况下,缩短步长就可以获得更密集的数据
比如我们用0.01来试下
"""
x_ranges = np.arange(0, 20, 0.01)
#创建画布,plt.figure 函数可以创建一块画布,创建一个 10x10 大小的画布,并将其保存在变量 figure1 中
# 通过 figure 函数的 facecolor 参数设置画布颜色(红色)
figure1 = plt.figure(figsize=(10, 10))
#创建子图,add_subplot(行数,列数,当前子图索引)
ax1 = figure1.add_subplot(1,1,1)
#设置子图标题
plt.title("y = sin(x)")
#置坐标轴的属性
plt.xlabel("X")
plt.xlim([0, 20])
plt.ylabel("Y")
plt.ylim([-2.5, 2.5])
#绘图
plt.plot(x_ranges, np.sin(x_ranges))
#显示
plt.show()
运行结果如下