例如 :
下面的配色表画出的图很好看。选择喜欢的颜色,找到代码中颜色部分进行修改即可。
代码部分已经有详细的注释,就不一一解释了。另外,如果想要坐标轴从设定的值开始就把下面代码中的范围xlim,ylim进行注释。
import seaborn as sns
import matplotlib.pyplot as plt
# 输入数据
x=[4000,8000,12000,16000,20000,24000,28000]
y1 = [80.78,92.97,90.19,93.62,93.13,94.23,95.1]#cat
y2 = [87.76,92.52,94.46,91.57,90.93,93.41,93.63]#cow
y3 = [84.04,85.42,86.86,88.15,87.11,86.59,89.38]#dog
# 设置颜色代码
color1 = "#038355" # 孔雀绿
color2 = "#ffc34e" # 向日黄
color3 = "#b4a6ca" # 闪蝶紫
color4 = "#66ce63" # 湖蓝
# 设置字体
font = {'family' : 'Times New Roman',
'size' : 12}
plt.rc('font', **font)
# 绘图
sns.set_style("whitegrid") # 设置背景样式
sns.lineplot(x=x, y=y1, color=color1, linewidth=2.0, marker="o", markersize=8, markeredgecolor="white", markeredgewidth=1.5, label='cat')
sns.lineplot(x=x, y=y2, color=color2, linewidth=2.0, marker="s", markersize=8, markeredgecolor="white", markeredgewidth=1.5, label='cow')
sns.lineplot(x=x, y=y3, color=color3, linewidth=2.0, marker="h", markersize=8, markeredgecolor="white", markeredgewidth=1.5, label='dog')
# 添加标题和标签
plt.title("MaskCLIP+ Acc", fontweight='bold', fontsize=14) #标题
plt.xlabel("epoch", fontsize=12) #横坐标名称
plt.ylabel("Acc/%", fontsize=12) #纵坐标名称
# 添加图例
plt.legend(loc='upper left', frameon=True, fontsize=10) #上左位置
plt.legend(loc='lower right', frameon=True, fontsize=10) #下右位置
# 设置刻度字体和范围
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)
plt.xlim(0, 30000)
plt.ylim(0, 100)
# 设置坐标轴样式
for spine in plt.gca().spines.values():
spine.set_edgecolor("#CCCCCC")
spine.set_linewidth(1.5)
#保存为图片
plt.savefig('lineplot.png', dpi=300, bbox_inches='tight')
# 显示图像
plt.show()