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()
相关推荐
小熊熊知识库4 分钟前
C# Ollama 实战聊天小案例实现
开发语言·c#
哈哈xcpc-439912 分钟前
天梯赛题解(Python和C++解法)
开发语言·c++·python
A Mr Yang12 分钟前
JAVA 对比老、新两个列表,找出新增、修改、删除的数据
java·开发语言·spring boot·后端·spring cloud·mybatis
星释15 分钟前
Rust 练习册 120:探索向量与斐波那契数列
开发语言·后端·rust
smile_Iris27 分钟前
Day 34 模块和库的导入
python
zmzb010329 分钟前
C++课后习题训练记录Day47
开发语言·c++
北极糊的狐41 分钟前
报错java: 找不到符号符号: 类 XxxController位置: 程序包 com.ruoyi.xxx.xxx.service
开发语言·windows·python
0思必得01 小时前
[Web自动化] HTML列表标签
运维·python·自动化·html·web自动化
weixin_429690721 小时前
数字人源码部署供应商
人工智能·python
独自破碎E1 小时前
如何用最短替换让字符串变平衡?
java·开发语言·算法·leetcode