





默认当前页面为画布,所以也可以不指定





python
import matplotlib.pyplot as plt
import numpy as np
# 绘制曲线y=x^2 和y=x^4在同一张图中
x=np.arange(0,1.1,0.01)
y1 = x**2
y2 = x**4
plt.title("quxian")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(x,y1)
plt.plot(x,y2)
plt.legend(['y=x^2','y=x^4']) # 注意顺序一致
plt.savefig("./test.png") # 先保存再展示,否则保存失败
plt.show()


python
import matplotlib.pyplot as plt
import numpy as np
import math
# 绘制曲线 sin(x) 和 cos(x)
pt = plt.figure(figsize=(10,4),dpi=80) # 确定画布大小10为宽,4高,dpi是像素
# 第一幅图
ax1 = pt.add_subplot(1,2,1) # 创建一个一行两列的子图,并开始绘制第一幅
x=np.arange(0,1.1,0.01)
y1 = x**2
y2 = x**4
plt.title("line")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,1))
plt.ylim((0,1))
plt.xticks([0,0.2,0.4,0.6,0.8,1])
plt.yticks([0,0.2,0.4,0.6,0.8,1])
plt.plot(x,y1)
plt.plot(x,y2)
plt.legend(['y=x^2','y=x^4']) # 注意顺序一致
plt.savefig("./test.png") # 先保存再展示,否则保存失败
# plt.show() 一张图只调用一次 `plt.show()`,必须放在所有子图全部绘制完成之后。
# 1. **子图对象用 set_ 前缀的方法**:`ax.set_title()`、
# `ax.set_xlabel()`、`ax.set_xlim()`,不要用 plt 全局函数。
# 2. **`savefig` 必须在 `plt.show()` 之前**:show 会清空画布,先保存再显示。
# 第二幅图
ax2 = pt.add_subplot(1,2,2) # 创建一个一行两列的子图,并开始绘制第一幅
xx=np.arange(0,np.pi*2,0.01)
y11 = np.sin(xx)
y22 = np.cos(xx)
plt.title("sin/cos")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(xx,y11)
plt.plot(xx,y22)
plt.legend(['y=sin(x)','y=cos(x)']) # 注意顺序一致
plt.savefig("./testddd.png") # 先保存再展示,否则保存失败
plt.show()





python
import matplotlib.pyplot as plt
import numpy as np
plt.title("line曲线")
plt.xlabel("x")
plt.ylabel("y")
plt.xlim((0,np.pi*2))
plt.ylim((-1, 1))
plt.xticks([0,np.pi/2,np.pi,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
# x=np.pi # x应为多个点
x=np.arange(0,2*np.pi,0.1)
y=np.sin(x)
plt.rcParams["font.sans-serif"]="SimHei" # 设置字体,使得中文正常显示
plt.rcParams["axes.unicode_minus"]=False # 设置正常显示符号
plt.rcParams["lines.linestyle"]="-"
plt.rcParams["lines.marker"]="v"
plt.rcParams["lines.markersize"]=2
plt.plot(x,y,label="$sin(x)$") #写了label但忘加 plt.legend(),导致图例不显示,误以为 label 参数没用
plt.legend()
plt.savefig("./sin(x).png") # 先保存再展示,否则保存失败
plt.show()