使用matplotlib.pyplot绘制多个图片和图表实现方式
作者:猫生鱼
这篇文章主要介绍了使用matplotlib.pyplot绘制多个图片和图表的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
使用matplotlib.pyplot绘制多个图片和图表
import matplotlib.pyplot as plt
import numpy as np
''' 第一个,放图片 '''
plt.figure(1) # 创建第1个图形
plt.sca(plt.subplot(3, 3, 1)) # 分成3行3列,并选择第1个位置
img0 = plt.imread("Data/color/citrus_fruits_01.png")
plt.imshow(img0)
plt.sca(plt.subplot(3, 3, 2)) # 分成3行3列,并选择第2个位置
img1 = plt.imread("Data/color/citrus_fruits_05.png")
plt.imshow(img1)
plt.sca(plt.subplot(3, 3, 3)) # 分成3行3列,并选择第3个位置
img2 = plt.imread("Data/color/clamp_pile_04.png")
plt.imshow(img2)
plt.sca(plt.subplot(3, 3, 4)) # 分成3行3列,并选择第4个位置
img3 = plt.imread("Data/color/pills_test_03.png")
plt.imshow(img3)
plt.sca(plt.subplot(3, 3, 5)) # 分成3行3列,并选择第5个位置
img4 = plt.imread("Data/color/pizza_01.png")
plt.imshow(img4)
plt.sca(plt.subplot(3, 3, 6)) # 分成3行3列,并选择第6个位置
img5 = plt.imread("Data/color/yogurt_02.png")
plt.imshow(img5)
plt.sca(plt.subplot(3, 3, 8)) # 分成3行3列,并选择第8个位置,最后一个放中间
img6 = plt.imread("Data/color/yogurt_model_03_big.png")
plt.imshow(img6)
''' 第二个,放曲线图 '''
plt.figure(2) # 创建第2个图形
plt.xlabel("x")
plt.ylabel("f(x)")
x = [0.0, 10.0, 20.0, 30.0] # 返回一个有终点和起点的固定步长(0.1)的数列
y = [0.0, 110.0, 420.0, 930.0] # 返回一个有终点和起点的固定步长(0.1)的数列
plt.plot(x, y)
plt.text(15, 400, 'x²+x', fontsize=14)
''' 显示plt '''
plt.show() # 将plt显示出来结果

使用matplotlib同时绘制展示两张图表
from matplotlib import pyplot as plt plt.plot(x1,y2,marker=".") //使用figure进行擦除 plt.figure() plt.plot(x1,y2,marker="v") plt.show()
matplotlib.pyplot一幅图两个坐标
def plot_loss_with_acc(loss_history, val_acc_history):
"""
一幅图两个坐标曲线
:param loss_history: loss列表
:param val_acc_history: acc列表
"""
fig = plt.figure()
# 第1个坐标轴
ax1 = fig.add_subplot(111)
ax1.plot(range(len(loss_history)), loss_history,
c=np.array([255, 71, 90]) / 255.)
plt.ylabel('Loss')
# 第2个坐标轴
ax2 = fig.add_subplot(111, sharex=ax1, frameon=False)
ax2.plot(range(len(val_acc_history)), val_acc_history,
c=np.array([79, 179, 255]) / 255.)
ax2.yaxis.tick_right()
ax2.yaxis.set_label_position("right") # 画在右边
plt.ylabel('ValAcc')
# x轴
plt.xlabel('Epoch')
plt.title('Training Loss & Validation Accuracy')
plt.show()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
