import numpy as np
import matplotlib.pyplot as plt
def draw_data():
'''
RGB配色方案:(254,67,101)(252,157,154)(249,205,173)(200,200,169)(131,175,155)
'#FE4365' '#FC9D41' '#F9CDAD' '#C8C8A9' '#83AF9B'
使用关键字参数可以指定所绘制的曲线的各种属性:
label:给曲线指定一个标签名称,此标签将在图标中显示。如果标签字符串的前后都有字符'$',则Matplotlib会使用其内嵌的LaTex引擎将其显示为数学公式
color:指定曲线的颜色。颜色可以用如下方法表示:①英文单词redblue等 ②以‘ # ’字符开头的3个16进制数,如‘#ff0000’表示红色 ③以0~1的RGB表示,如(1.0, 0.0, 0.0)也表示红色。
linewidth:指定权限的宽度,可以不是整数,也可以使用缩写形式的参数名lw。
figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True)
num: 图像编号或名称,数字为编号 ,字符串为名称
figsize: 指定figure的宽和高,单位为英寸;
dpi参数指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80 1
英寸等于2.5cm, A4纸是21 * 30cm的纸张
facecolor: 背景颜色
edgecolor: 边框颜色
frameon: 是否显示边框
'''
#### yolo 训练集数据
# basic
x = np.linspace(1, 12, 12 , endpoint=True)
y1 = 3.612, 3.023, 2.512, 2.112, 1.730, 1.251, 0.945, 0.556, 0.322, 0.224, 0.125, 0.212
plt.ylim(0, 4) # y轴显示范围
# ditail
font = {'family':'Times New Roman'}#,'weight':'normal','size':30}#字体设置,还可以添加字号等属性
plt.figure(1,figsize=(8,4))#新建画布
plt.plot(x,y1,label="YOLO-V3 Training Loss",color='#FE4365',linewidth=1.2)#将$包围的内容渲染为数学公式
plt.xlabel("Epoch",font)#x轴单位,不能关键词参数prop=font
plt.ylabel("Loss",font)#y轴单位
# plt.title("Fist Picture")#图片标题
plt.grid(color='#CBCBCB',linewidth=0.8)#添加浅灰网格,alpha为透明度
plt.legend(prop=font)#显示图例,关键字参数
plt.show() # 显示图像
#调用
if __name__ == '__main__':
draw_data()