I won't talk too much nonsense, let's just look at the code!
# - *- coding: utf-8-*-"""
Created on Wed Mar 713:10:212018
@ author: su
"""
import numpy as np
import matplotlib.pyplot as plt
n_groups =2
num_list =[0.8,0.80]
num_list1 =[0.8,0.8]
num_list2 =[0.9,0.9]
num_list3 =[0.9,0.9]
fig, ax = plt.subplots()
plt.grid(True, linestyle ="-", color ="#9dbcd4", linewidth ="0.7",axis='y')
ax = plt.gca()
ax.spines['top'].set_visible(False) #Remove the top border
ax.spines['right'].set_visible(False) #Remove the right border
ax.spines['bottom'].set_visible(False) #Remove the top border
ax.spines['left'].set_visible(False) #Remove the right border
ax.tick_params(axis='y',width=0,length=0)
ax.tick_params(axis='x',width=0,length=0)
index = np.arange(n_groups)
bar_width =0.5
opacity =1
rects1 = plt.bar(index, num_list, bar_width/4,alpha=opacity, color='#6B7C85',label='Logistic',hatch='')
rects2 = plt.bar(index + bar_width/4, num_list1, bar_width/4,alpha=opacity,color='#9dbcd4',label='SVM',hatch='/')
rects3= plt.bar(index + bar_width/2, num_list2, bar_width/4,alpha=opacity,color='#1f3d4b',label='CNN',hatch='-')
rects4= plt.bar(index + bar_width*3/4, num_list3, bar_width/4,alpha=opacity,color='#3f829d',label='LSTM',hatch=':')
# plt.xlabel('Group')
plt.ylabel('Accuracy', fontsize=18)
# plt.title('Scores by group and gender')
plt.xticks(index -0.3+ bar_width,('Chinese','English'),fontsize =18)
plt.yticks(fontsize =18) #change the num axis size
plt.ylim(0.7,0.95) #The ceil
# Set legend
plt.legend(loc='center', bbox_to_anchor=(0.5,-0.2),ncol=4,frameon=False,shadow=False)
plt.tight_layout()
plt.show()
Remove the border and place the legend below the picture. Set horizontal marking
The above free definition method of python drawing legend is all the content shared by the editor, I hope to give you a reference.
Recommended Posts