import matplotlib.pyplot as plt
#x=['Alex','VGG16','VGG19','Squeeze0','Squeeze1','Res18','Res34','Res50','Res101','Res152','Inception_v3','Dense121','Dense169']
x=[1,2,3,4,5,6,7,8,9,10,11,12]
plt.xticks(x,['Alex','VGG16','VGG19','Squeeze','Res18','Res34','Res50','Res101','Res152','Inception','Dense121','Dense169'],rotation=20,fontsize=10)

'''
###yos dataset L2_proved
y1=[0.8509,0.8162,0.8276,0.7473,0.8224,0.8235,0.8512,0.8634,0.8485,0.8786,0.9246,0.9280]
y2=[0.8767,0.8933,0.9278,0.8416,0.8839,0.8569,0.8858,0.8905,0.8577,0.8916,0.9297,0.9064]
###ND dataset L2_proved
y1=[0.8927,0.8540,0.8637,0.7884,0.8927,0.8891,0.9107,0.9104,0.9129,0.9422,0.9587,0.9656]
y2=[0.9200,0.9650,0.9679,0.9171,0.9631,0.9533,0.9645,0.9675,0.9530,0.9545,0.9710,0.9502]
####Lib dataset L2_proved
y1=[0.8711,0.8053,0.8190,0.7481,0.8474,0.8372,0.8657,0.8685,0.8743,0.9215,0.9368,0.9379]
y2=[0.8782,0.9329,0.9408,0.8623,0.9273,0.9133,0.9350,0.9394,0.9252,0.9002,0.9501,0.9120]
'''

'''
#####Yos dataset pooling_proved with L2-normalization
y1=[0.8890,0.9265,0.9379,0.8945,0.8832,0.8557,0.8865,0.8904,0.8649,0.9678,0.9402,0.9486]
y2=[0.8509,0.8162,0.8276,0.7473,0.8224,0.8235,0.8512,0.8634,0.8485,0.8786,0.9246,0.9280]
y3=[0.8813,0.9194,0.9349,0.8997,0.8975,0.8693,0.8955,0.8992,0.8731,0.9200,0.9370,0.9348]
#####DN dataset pooling_proved with L2-normalization
y1=[0.9388,0.9731,0.9766,0.9574,0.9637,0.9556,0.9690,0.9707,0.9564,0.9904,0.9826,0.9873]
y2=[0.8927,0.8540,0.8637,0.7884,0.8927,0.8891,0.9107,0.9104,0.9129,0.9422,0.9587,0.9656]
y3=[0.9291,0.9715,0.9768,0.9615,0.9682,0.9641,0.9757,0.9742,0.9661,0.9785,0.9826,0.9762]
'''
####Lib dataset pooling_proved with L2-normalization
y1=[0.9000,0.9585,0.9637,0.9264,0.9267,0.9109,0.9370,0.9396,0.9283,0.9801,0.9655,0.9706]
y2=[0.8711,0.8053,0.8190,0.7481,0.8474,0.8372,0.8657,0.8685,0.8743,0.9215,0.9368,0.9379]
y3=[0.8825,0.9449,0.9549,0.9280,0.9413,0.9292,0.9511,0.9507,0.9426,0.9416,0.9679,0.9463]


'''
####DN dataset pooling_proved
y1=[0.9099,0.9024,0.9109,0.8864,0.9012,0.8928,0.9219,0.9241,0.9341,0.9850,0.9727,0.9820]
y2=[0.8927,0.8540,0.8637,0.7884,0.8927,0.8891,0.9107,0.9104,0.9129,0.9422,0.9587,0.9656]
y3=[0.9278,0.8670,0.8861,0.8189,0.9030,0.8900,0.9166,0.9288,0.9183,0.9559,0.9595,0.9753]
###Yos dataset pooling_proved
y1=[0.8624,0.8503,0.8689,0.8320,0.8264,0.8247,0.8590,0.8756,0.8693,0.9570,0.9365,0.9538]
y2=[0.8509,0.8162,0.8276,0.7473,0.8224,0.8235,0.8512,0.8634,0.8485,0.8786,0.9246,0.9280]
y3=[0.8654,0.8237,0.8468,0.7518,0.8255,0.8191,0.8449,0.8516,0.8472,0.8792,0.9212,0.9417]
####Lib dataset pooling_proved
y1=[0.8982,0.8531,0.8669,0.8494,0.8596,0.8454,0.8856,0.8939,0.8953,0.9728,0.9556,0.9659]
y2=[0.8711,0.8053,0.8190,0.7481,0.8474,0.8372,0.8657,0.8685,0.8743,0.9215,0.9368,0.9379]
y3=[0.8877,0.8100,0.8364,0.7634,0.8491,0.8286,0.8611,0.8678,0.8684,0.9301,0.9315,0.9475]
'''
#plt.plot(x,y1,label='No L2-normalization',linewidth=2,color='blueviolet',marker='h',markerfacecolor='orchid',markersize=12)
#plt.plot(x,y2,label='Use L2-normalization',linewidth=2,color='r',marker='o',markerfacecolor='yellow',markersize=12)

plt.plot(x,y1,label='Use avg pool with L2-norm',linewidth=2,color='blueviolet',marker='h',markerfacecolor='orchid',markersize=12)
plt.plot(x,y2,label='No pool, No L2-norm',linewidth=2,color='c',marker='d',markerfacecolor='lime',markersize=12)
plt.plot(x,y3,label='Use max pool with L2-norm',linewidth=2,color='r',marker='o',markerfacecolor='yellow',markersize=12)

#plt.xticks(fontsize=12)
#plt.yticks(fontsize=12)
# 设置坐标标签字体大小
#plt.xlabel('Different Convolutional Neural Network',fontsize=12)
plt.ylabel('the mean Average Precision (mAP)',fontsize=12)
plt.legend(fontsize=12)
plt.show() 
