python科研数据可视化之折线图

例如 :

下面的配色表画出的图很好看。选择喜欢的颜色,找到代码中颜色部分进行修改即可。

代码部分已经有详细的注释,就不一一解释了。另外,如果想要坐标轴从设定的值开始就把下面代码中的范围xlim,ylim进行注释。

python 复制代码
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()
相关推荐
Cx330❀4 分钟前
【数据结构初阶】--排序(四):归并排序
c语言·开发语言·数据结构·算法·排序算法
云间月13149 分钟前
飞算JavaAI智慧文旅场景实践:从景区管理到游客服务的全链路系统搭建
java·开发语言
深盾安全26 分钟前
Python脚本安全防护策略全解析(上)
python
杜子不疼.27 分钟前
《Python学习之使用标准库:从入门到实战》
开发语言·python·学习
意疏31 分钟前
【C语言篇】srand函数的详细用法解析
c语言·开发语言
胡耀超37 分钟前
从哲学(业务)视角看待数据挖掘:从认知到实践的螺旋上升
人工智能·python·数据挖掘·大模型·特征工程·crisp-dm螺旋认知·批判性思维
艾莉丝努力练剑1 小时前
【C语言16天强化训练】从基础入门到进阶:Day 1
c语言·开发语言·数据结构·学习
颖川守一1 小时前
C++c6-类和对象-封装-设计案例2-点和圆的关系
开发语言·c++
tomelrg1 小时前
多台服务器批量发布arcgisserver服务并缓存切片
服务器·python·arcgis
A尘埃1 小时前
Java+Python混合微服务OCR系统设计
java·python·微服务·混合