文章目录
- 折线图
- 设置次刻度
- 设置颜色-线形状-标签-线宽-点形状
-
- 四周显示刻度
- 设置是否显示刻度线
折线图
import matplotlib.pyplot as plt
from matplotlib.ticker import MultipleLocator,
# x轴
x=[10,20,30,40,50,60,70,80,90]
# y轴
y1 = [0.9895, 0.9898, 0.9850, 0.9848, 0.9841, 0.9841, 0.9837, 0.9831, 0.9832]
y2 = [0.9863, 0.9896, 0.9836, 0.9847, 0.9803, 0.9794, 0.9814, 0.9807, 0.9792]
y3 = [0.9832, 0.9811, 0.9807, 0.9792, 0.9749, 0.9792, 0.9800, 0.9773, 0.9761]
y4 = [0.9811, 0.9795, 0.9753, 0.9720, 0.9711, 0.9743, 0.9723, 0.9660, 0.9621]
y5 = [0.9820, 0.9817, 0.9797, 0.9776, 0.9721, 0.9757, 0.9741, 0.9682, 0.9634]
fig = plt.figure(figsize=(4,4),dpi=100) #画图
ax1 = fig.add_subplot(111) # 加子图
设置次刻度
# #修改次刻度
xminorLocator = MultipleLocator(10) #将x轴次刻度标签设置为5的倍数
yminorLocator = MultipleLocator(0.05) #将此y轴次刻度标签设置为0.1的倍数
# #设置次刻度标签的位置,没有标签文本格式
ax1.xaxis.set_minor_locator(xminorLocator)
ax1.yaxis.set_minor_locator(yminorLocator)
plt.minorticks_on() #显示次刻度线
# plt.minorticks_off() #不显示次刻度线
设置颜色-线形状-标签-线宽-点形状
line2 = ax1.plot(x,y2,'#00008B',linestyle="-.",label='B',linewidth=1.5,marker='>')
line3 = ax1.plot(x,y3,'#FF8C00',linestyle="-.",label='N',linewidth=1.5,marker='<')
line4 = ax1.plot(x,y4,'#808080',linestyle="-.",label='D',linewidth=1.5,marker='^')
line5 = ax1.plot(x,y5,'#008000',linestyle="-.",label='S',linewidth=1.5,marker='v')
line1 = ax1.plot(x,y1,'#FF0000',linestyle="-.",label='A',linewidth=1.5,marker='d')
marker 点形状
linestyle 线形状
四周显示刻度
# 标签位置:loc frameon:是否显示标签边框
ax1.legend(loc='best', prop={'family':'Times New Roman', 'size':8},frameon=True)
# 刻度朝向:direction (in,out,inout) , 主次刻度线:which ['major','minor'],设置刻度长宽及四周显示刻度
ax1.tick_params(direction='inout',which='major',length=5,width=2,bottom=True,top=True,left=True,right=True)
plt.tick_params(direction='inout',which='minor',length=2,bottom=True,top=True,left=True,right=True)
#设置x轴显示的刻度值
plt.xticks([20,40,60,80],fontproperties = 'Times New Roman', fontsize=8)
#设置y轴显示的刻度值
plt.yticks([0.85,0.90,0.95,1],fontproperties = 'Times New Roman', fontsize=8)
#设置x轴标签
plt.xlabel('Test set (%)',fontdict={'family' : 'Times New Roman', 'size':12})
#设置y轴标签
plt.ylabel('Accuracy (%)',fontdict={'family' : 'Times New Roman', 'size':12})
设置是否显示刻度线
plt.grid(b=1,linestyle="--",axis='both')
#b=0 or False 不显示. axis='x'只显示x轴线. axis='y'只显示y轴线
plt.savefig('./Figure/LR-L2.pdf',dpi=100, bbox_inches="tight")
plt.show()