【SCI绘图】【曲线图系列2 python】多类别标签对比的曲线图

2024-04-06 13:04

本文主要是介绍【SCI绘图】【曲线图系列2 python】多类别标签对比的曲线图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SCI,CCF,EI及核心期刊绘图宝典,爆款持续更新,助力科研!

本期分享:

【SCI绘图】【曲线图系列2 python】多类别标签对比的曲线图,文末附完整代码

1.环境准备

python 3

import proplot as pplt
import pandas as pdfrom proplot import rc

2.数据示例与读取

数据示例:

     68.52769   1.01941334E-118   1.04975387E-287   3.07499527E-220   4.62365918E-169   2.32835613E-134
     68.58945   3.94732386E-118   8.59329295E-287   1.94218811E-219   2.33402749E-168   9.88293492E-134
     68.65121   1.51971781E-117   6.98480839E-286   1.21860660E-218   1.17091842E-167   4.17021496E-133
     68.71298   5.81756808E-117   5.63747055E-285   7.59578697E-218   5.83793125E-167   1.74935402E-132
     68.77474   2.21436321E-116   4.51815464E-284   4.70360236E-217   2.89277108E-166   7.29548983E-132
     68.83650   8.38099508E-116   3.59581184E-283   2.89366667E-216   1.42463282E-165   3.02481879E-131
     68.89826   3.15422077E-115   2.84186785E-282   1.76863385E-215   6.97327187E-165   1.24687538E-130
     68.96003   1.18045311E-114   2.23045665E-281   1.07401485E-214   3.39254761E-164   5.11017864E-130
     69.02179   4.39314840E-114   1.73851547E-280   6.48002835E-214   1.64052134E-163   2.08232725E-129
     69.08355   1.62586232E-113   1.34576744E-279   3.88462479E-213   7.88524556E-163   8.43669246E-129
     69.14532   5.98387683E-113   1.03461776E-278   2.31386509E-212   3.76735665E-162   3.39872639E-128
     69.20708   2.19019452E-112   7.89987107E-278   1.36947767E-211   1.78919283E-161   1.36141743E-127

读取数据:

# 读取 txt 文件中的数据
data = pd.read_csv('uv_curve.txt', header=None, delim_whitespace=True)# 颜色、曲线格式以及标签
color_list = ['black', 'red', 'orange', 'blue', 'green']
label_list = ['label1', 'label2', 'label3', 'label4', 'label5']
style_list = ['-', '--', '--', '--', '--']

3.绘图展示

画布设置:

# 设置绘图的默认参数,如字体、字号等
rc['font.name'] = 'Arial'
rc['title.size'] = 14
rc['label.size'] = 12
rc['font.size'] = 10.5
rc['tick.width'] = 1.3
rc['meta.width'] = 1.3
rc['label.weight'] = 'bold'
rc['tick.labelweight'] = 'bold'
rc['ytick.major.size'] = 4.6
rc['ytick.minor.size'] = 2.5
rc['xtick.major.size'] = 4.6
rc['xtick.minor.size'] = 2.5

绘制逻辑:

# 创建画布
fig, ax = pplt.subplots(figsize=(6 * 0.9, 4 * 0.9))# 绘制多曲线图
x = data.iloc[:, 0]
for i in range(len(data.columns) - 1):y = data.iloc[:, i + 1]ax.plot(x, y, linewidth=1.3, color=color_list[i], label=label_list[i], linestyle=style_list[i])# 设置图例
ax.legend(loc='ur', ncols=1, fontweight='bold', frame=False)# 格式化图像
fig.format(grid=False, ylabel='Absorbance', xlabel='Wavelength (nm)',xlim=(80, 200), xminorlocator=10, xlocator=20, ylim=(0, 10000), yminorlocator=1000, ylocator=2000
)fig.show()fig.savefig('uv.png', bbox_inches='tight', dpi=300)

完整代码:

# -*- coding: utf-8 -*-
import proplot as pplt
import pandas as pdfrom proplot import rc# 读取 txt 文件中的数据
data = pd.read_csv('uv_curve.txt', header=None, delim_whitespace=True)# 颜色、曲线格式以及标签
color_list = ['black', 'red', 'orange', 'blue', 'green']
label_list = ['label1', 'label2', 'label3', 'label4', 'label5']
style_list = ['-', '--', '--', '--', '--']# 设置绘图的默认参数,如字体、字号等
rc['font.name'] = 'Arial'
rc['title.size'] = 14
rc['label.size'] = 12
rc['font.size'] = 10.5
rc['tick.width'] = 1.3
rc['meta.width'] = 1.3
rc['label.weight'] = 'bold'
rc['tick.labelweight'] = 'bold'
rc['ytick.major.size'] = 4.6
rc['ytick.minor.size'] = 2.5
rc['xtick.major.size'] = 4.6
rc['xtick.minor.size'] = 2.5# 创建画布
fig, ax = pplt.subplots(figsize=(6 * 0.9, 4 * 0.9))# 绘制多曲线图
x = data.iloc[:, 0]
for i in range(len(data.columns) - 1):y = data.iloc[:, i + 1]ax.plot(x, y, linewidth=1.3, color=color_list[i], label=label_list[i], linestyle=style_list[i])# 设置图例
ax.legend(loc='ur', ncols=1, fontweight='bold', frame=False)# 格式化图像
fig.format(grid=False, ylabel='Absorbance', xlabel='Wavelength (nm)',xlim=(80, 200), xminorlocator=10, xlocator=20, ylim=(0, 10000), yminorlocator=1000, ylocator=2000
)fig.show()fig.savefig('uv.png', bbox_inches='tight', dpi=300)

这篇关于【SCI绘图】【曲线图系列2 python】多类别标签对比的曲线图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/879955

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.