"Analysis" Matplotlib draws a line chart

Compared with [Elegant] matplotlib common graphs and [Elegant] matplotlib 3D graphs , line graphs are used more frequently. Here are some configurations that are commonly used to draw line graphs using Matplotlib recently. Friends only need to modify them. The corresponding aug_list and list can be used directly

#  !/usr/bin/env  python
#  -*- coding:utf-8 -*-
# @Time     :  2023.04
# @Author   :  绿色羽毛
# @Email    :  [email protected]
# @Blog     :  https://blog.csdn.net/ViatorSun
# @arXiv    :  
# @version  :  "1.0"
# @Note     :  
# 
#



import numpy as np
import matplotlib.pyplot as plt



aug_list=[  "Original","GaussianBlur", "AverageBlur", "MedianBlur", "Sharpen", "Dropout","CoarseDropout", 
            "AddToBrightness", "Multiply", "Cutout", "LinearContrast", "WithColorspace", "AddToSaturation",
            "AddToHue", "AddToHueAndSaturation", "AdditiveGaussianNoise",  "DefocusBlur",

            # GPU 1
            "MotionBlur", "CoarseSaltAndPepper","Emboss", "ElasticTransformation", "Superpixels", 
            "Invert", "Grayscale", "EdgeDetect", "PiecewiseAffine", "Snow", "Cartoon", "Affine", 
            "Fliplr", "Flipud", "Resize", "Crop", "CropAndPad", 	]



list = ["| 0    | Original              | 0.917 | 0.797 | 0.864 | 0.64  |",
		"| 1    | GaussianBlur          | 0.793 | 0.536 | 0.615 | 0.425 |",
		"| 2    | AverageBlur           | 0.812 | 0.58  | 0.654 | 0.45  |",
		"| 3    | MedianBlur            | 0.79  | 0.549 | 0.622 | 0.43  |",
		"| 4    | Sharpen               | 0.812 | 0.575 | 0.661 | 0.441 |",
		"| 5    | Dropout               | 0.808 | 0.514 | 0.608 | 0.402 |",
		"| 6    | CoarseDropout         | 0.798 | 0.557 | 0.633 | 0.419 |",
		"| 7    | AddToBrightness       | 0.828 | 0.601 | 0.677 | 0.462 |",
		"| 8    | Multiply              | 0.85  | 0.629 | 0.709 | 0.494 |",
		"| 9    | Cutout                | 0.813 | 0.578 | 0.655 | 0.442 |",
		"| 10   | LinearContrast        | 0.839 | 0.555 | 0.648 | 0.449 |",
		"| 11   | WithColorspace        | 0.937 | 0.774 | 0.85  | 0.633 |",
		"| 12   | AddToSaturation       | 0.875 | 0.647 | 0.733 | 0.505 |",
		"| 13   | AddToHue              | 0.828 | 0.63  | 0.705 | 0.496 |",
		"| 14   | AddToHueAndSaturation | 0.918 | 0.758 | 0.833 | 0.617 |",
		"| 15   | AdditiveGaussianNoise | 0.847 | 0.563 | 0.661 | 0.454 |",
		"| 16   | DefocusBlur           | 0.825 | 0.591 | 0.669 | 0.463 |",
		"| 17   | MotionBlur            | 0.809 | 0.549 | 0.625 | 0.424 |",
		"| 18   | CoarseSaltAndPepper   | 0.778 | 0.558 | 0.627 | 0.436 |",
		"| 19   | Emboss                | 0.826 | 0.604 | 0.67  | 0.464 |",
		"| 20   | ElasticTransformation | 0.806 | 0.565 | 0.632 | 0.431 |",
		"| 21   | Superpixels           | 0.732 | 0.538 | 0.589 | 0.381 |",
		"| 22   | Invert                | 0.886 | 0.703 | 0.784 | 0.563 |",
		"| 23   | Grayscale             | 0.861 | 0.608 | 0.704 | 0.493 |",
		"| 24   | EdgeDetect            | 0.799 | 0.593 | 0.664 | 0.457 |",
		"| 25   | PiecewiseAffine       | 0.806 | 0.549 | 0.626 | 0.409 |",
		"| 26   | Snow                  | 0.853 | 0.506 | 0.609 | 0.415 |",
		"| 27   | Cartoon               | 0.859 | 0.519 | 0.603 | 0.403 |",
		"| 28   | Affine                | 0.797 | 0.6   | 0.669 | 0.421 |",
		"| 29   | Fliplr                | 0.817 | 0.531 | 0.591 | 0.379 |",
		"| 30   | Flipud                | 0.795 | 0.547 | 0.618 | 0.398 |",
		"| 31   | Resize                | 0.799 | 0.582 | 0.66  | 0.437 |",
		"| 32   | Crop                  | 0.789 | 0.559 | 0.627 | 0.406 |",
		"| 33   | CropAndPad            | 0.809 | 0.561 | 0.637 | 0.41  |",
]



excel = []


for i in list:
    lst = i.replace(" ", "").split('|')[-5:-1]	# 正则化处理下每行的数据
    for j in lst:
        excel.append(float(j))

excel = np.array(excel).reshape(-1,4)			# 将列表格式转化为 np.array

p_list = excel[:,0]								# np.array 可以通过 [:,i] 获取第i列数据  

length = excel.size // 4



x = np.linspace(-10, 10, 1000) 

plt.figure(figsize=(32, 10))		# 新建空画布并设置尺寸
plt.plot(aug_list, excel[:,0], ':r'	, label='Predicted')  			# plt.plot绘制折线图
plt.plot(aug_list, excel[:,1], '-r'	, label='Recall')
plt.plot(aug_list, excel[:,2], '--g', label='mAP50')
plt.plot(aug_list, excel[:,3], '-.m', label='mAP50:95')


plt.hlines(excel[0,0], 0, length, colors='r', linestyles=':')		# plt.hlines 绘制 y=k 水平线
plt.hlines(excel[0,1], 0, length, colors='r', linestyles='-')		# plt.vlines 绘制 x=k 垂直线
plt.hlines(excel[0,2], 0, length, colors='g', linestyles='--')
plt.hlines(excel[0,3], 0, length, colors='m', linestyles='-.')


plt.legend()    					# 显示图例(右上角的小图例)


plt.title("Overall indicators")
plt.xlabel('augment list')
plt.xticks(rotation=90)				# 旋转横坐标标签角度

plt.show()

insert image description here

Guess you like

Origin blog.csdn.net/ViatorSun/article/details/129982550