python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > matplotlib.pyplot绘制多个图片和图表

使用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()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文