Python画图——(一张图片显示多个子图片,每个子图片显示多个曲线)

目录

1,问题背景

2,在一张图中显示多条曲线

3,在一个窗口显示多张图片

注意:


1,问题背景

在一次任务中,老师给出了几个公式,其中含有三个自变量λ、μ、c。因为要观察最终的结果受这三个变量的影响,所以采用如下的展示方式:

  • c取1-6,分别对应6张小图;(图片个数表示此维度)
  • 每张小图中λ取0-100,观察平均队列长度变化;(横坐标表示此维度)
  • 每张小图中不同的曲线表示不同的μ取值;(曲线个数表示此维度)

效果如下:

Python画图——(一张图片显示多个子图片,每个子图片显示多个曲线)_第1张图片

由于之前并不熟悉python画图的格式等,特写此文记录过程。

2,在一张图中显示多条曲线

代码及图片来自@春风若是你【python使用matplotlib绘图详解(自动标记、将多条线绘制在一个图中,绘制多张图)】 

import numpy as np
import matplotlib.pyplot as plt
num = np.arange(40).reshape(10,4)#生成10行4列的数组
plt.rcParams['font.sans-serif'] = ['SimHei']#可以plt绘图过程中中文无法显示的问题
plt_label = 0
for link in range(len(num)):
    plt_label += 1
    plt.plot(num[0],num[link],label = '第'+ str(plt_label) + '条线段')
plt.legend()#显示图例,如果注释改行,即使设置了图例仍然不显示
plt.show()#显示图片,如果注释改行,即使设置了图片仍然不显示

3,在一个窗口显示多张图片

代码及图片来自@csdnzoutao【python使用opencv或matplotlib把多张图片显示在一个窗口内的方法】

import cv2
import matplotlib.pyplot as plt

# 使用matplotlib展示多张图片
def matplotlib_multi_pic1():
    for i in range(9):
        img = cv2.imread('/home/xxy/PycharmProjects/different_ocr/Auto_Cutting/test/20171217171857880.png')
        title="title"+str(i+1)
        #行,列,索引
        plt.subplot(3,3,i+1)
        plt.imshow(img)
        plt.title(title,fontsize=8)
        plt.xticks([])
        plt.yticks([])
    plt.show()
 matplotlib_multi_pic1()

注意:

1,PyCharm中直接安装cv2可能会安装失败,但是可以通过pip安装(若运行报错,提示pip版本需要更新,可以按照提示命令行,更新pip,然后再执行下列指令),亲测速度还是很快的。

pip install opencv-python

 

2,如果出现TypeError: Image data cannot be converted to float错误,可以查看自己的图片路径是否正确:图片路径以及图片名称尽量全部是英文、是否忘记照片格式等等

你可能感兴趣的:(python,python,cv,plot画图,cv显示图片)