使用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()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。