子图--面向对象

子图:

plt.subplot(2, 1, 1) #同一图中分开绘制图像
#参数1 子图的行数;参数2 子图的列数;参数3 第几个图像
x=np.linspace(-10,10,10)
y=x**2
plt.plot(x,y,linestyle=':',color='red',marker='o') #画直线
#"ob" 设置画出坐标点,但是不连线

plt.subplot(2, 1, 2)
x1=np.linspace(-10,10,10)
y1=x**2-20
plt.plot(x1,y1,linestyle='--',color='b',marker='*')

效果图:

 

 

个人理解:plt--画本    figure--产生画纸

 

 

子图-面向对象

复制代码
import numpy as np
import matplotlib.pyplot as plt

#解决能显示中文
plt.rcParams['font.sans-serif']=['SimHei'] #指定默认字体 SimHei为黑体
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

x=np.arange(0,10,1)
fig=plt.figure()  #定义一张图纸fig---面向对象作图
#如果要多张图,可以定义多张图纸

ax1 = fig.add_subplot(2,2,1)  #添加子图
#将画布分割成2行2列,图像画在第1块--子图位置
#返回值:子图对象
h=ax1.plot(x,x) #在指定子图上画图
#返回值:所画图对象
t=ax1.set_title('标题')   #子图标题
#返回值:标题对象

ax2 = fig.add_subplot(2,2,2)  #添加子图
h1=ax2.plot(x,-x)
h=ax1.plot(x,-x)  #在ax1上再添加一张图

plt.show()
复制代码

 

fig = plt.figure(figsize=(12, 5))     # 定义一张图纸fig 

figsize=(12, 5)     图纸大小  单位:英寸

self.ax1.set_xlabel("频率",fontsize=24)  #x轴标题
self.ax1.set_ylabel("响度", fontsize=24,rotation=0) #y轴标题

 

 

 

推荐:

fig,axes=plt.subplots(ncols=2,nrows=2)  #定义一张图纸fig,里边两行两列的子图axes
ax1,ax2,ax3,ax4=axes.ravel() #给各个子图取名

 

posted @   天子骄龙  阅读(235)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航