python内通用代码

1.pyplot绘图

1.1 pyplot绘制实时迭代图

代码如下示:

import matplotlib.pyplot as plt

ax = []                    # 定义一个 x 轴的空列表用来接收动态的数据
ay = []                    # 定义一个 y 轴的空列表用来接收动态的数据
plt.ion()                  # 开启一个画图的窗口
for i in range(100):       # 遍历0-99的值
	ax.append(i)           # 添加 i 到 x 轴的数据中
	ay.append(i**2)        # 添加 i 的平方到 y 轴的数据中
	plt.clf()              # 清除之前画的图
	plt.plot(ax,ay)        # 画出当前 ax 列表和 ay 列表中的值的图形
	plt.pause(0.1)         # 暂停一秒
	plt.ioff()             # 关闭画图的窗口

效果如下:

1.2 plot 绘制带图例的多曲线图

plot可以绘制多条曲线,其需要设置的条件众多。
代码示例:

from matplotlib import pyplot as plt
import pylab as plot

loss = history.history['loss']
val_loss = history.history['val_loss']

epochs = range(len(loss))

plt.figure(figsize=(20,12)) #图幅大小与坐标轴刻度尺寸相关
ax = plt.subplot(111)

plt.xticks(fontsize=20) #设置坐标轴刻度字体大小
plt.yticks(fontsize=20)

plt.xlabel('epochs',fontsize=25) #设置坐标轴标签 及其字体大小
plt.ylabel('loss_value',fontsize=25)
plt.title('Training and validation loss',fontsize=30)

plt.plot(epochs, loss,label='Training') #绘制曲线1
plt.plot(epochs, val_loss,label='Validation') #绘制曲线2

params = {'legend.fontsize': 20,
          'legend.handlelength': 4} #设置图例字体大小,图例长度
plot.rcParams.update(params) #应用图例参数
plt.legend(loc='upper left') #绘制图例,注明位置            
plt.grid(True) #是否要显示网格线

plt.show()

效果图如下:

参考链接:https://blog.csdn.net/Mezikov/article/details/107441810

1.2 plt的交互模式

plt.ion()
在使用matplotlib的过程中,常常会需要画很多图,但是好像并不能同时展示许多图。
这是因为python可视化库matplotlib的显示模式默认为阻塞(block)模式

什么是阻塞模式那?
我的理解就是在plt.show()之后,程序会暂停到那儿,并不会继续执行下去。如果需要继续执行程序,就要关闭图片。
那如何展示动态图或多个窗口呢?
这就要使用plt.ion()这个函数,使matplotlib的显示模式转换为交互(interactive)模式。
即使在脚本中遇到plt.show(),代码还是会继续执行。

在交互模式下:
plt.plot(x)或plt.imshow(x)是直接出图像,不需要plt.show()
如果在脚本中使用ion()命令开启了交互模式,没有使用ioff()关闭的话,则图像会一闪而过,并不会常留。
要想防止这种情况,需要在plt.show()之前加上ioff()命令。
即 ion() 和 ioff() 是配套的命令

在阻塞模式下:
打开一个窗口以后必须关掉才能打开下一个新的窗口。这种情况下,默认是不能像Matlab一样同时开很多窗口进行对比的。
plt.plot(x)或plt.imshow(x)是直接出图像,需要plt.show()后才能显示图像

posted @   青梧成林2022  阅读(114)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示