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()
相关推荐
卷无止境2 小时前
Python能做嵌入式开发吗?一份写给动手派的生态与硬件全景图
后端·python
月光船幽幽5 小时前
检测用户意图复杂性的关键方法
人工智能·python
OPEN-F6 小时前
C++进阶教程:继承与多态
开发语言·c++
luj_17688 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
威联通网络存储8 小时前
TS-h3087XU-RP 汽车零部件质检追溯部署
python·汽车
你驴我8 小时前
WhatsApp 多账号场景下的会话归档与历史消息检索优化实践
后端·python
IT毕设实战小研9 小时前
基于安卓的空气质量查询系统
android·大数据·vue.js·爬虫·python·django·课程设计
leonkay9 小时前
C# 特性(Attribute)——【1】基础讲解
开发语言·青少年编程·面试·c#·.net·个人开发
harmful_sheep9 小时前
java group by常见用法
java·开发语言·python
SKH.9 小时前
Linux软件编程(6)线程间通信
java·开发语言·数据库