python绘制piper三线图

piper三线图

Piper三线图是一种常用于水化学分析的图表,它能够帮助我们理解和比较水样的化学成分。该图表由三个部分组成:两个三角形和一个菱形。两个三角形分别用于显示阳离子和阴离子的相对比例,而菱形部分则综合显示了这些离子比例在水样中的总体特征。

Piper三线图的构成
阳离子三角形:表示主要阳离子的相对比例,通常包括钠(Na⁺)、钾(K⁺)、钙(Ca²⁺)和镁(Mg²⁺)。
阴离子三角形:表示主要阴离子的相对比例,通常包括碳酸根(CO₃²⁻)、重碳酸根(HCO₃⁻)、氯(Cl⁻)和硫酸根(SO₄²⁻)。
菱形图:综合阳离子和阴离子的比例,展示整体的水化学特征。

Piper三线图的应用
水质分类:帮助识别和分类不同类型的水,如地下水、地表水和废水等。
水质变化:监测和分析水质随时间的变化,评估污染源和污染物迁移。
水化学过程:研究水体中发生的各种化学反应和过程,如混合、离子交换和矿物溶解等。

WQChartPy

本次绘制piper三线图利用的是giuhub的开源库WQChartPy,地址:WQChartPy

WQChartPy 是一个开源的 Python 包,用于生成大多数图形图表,用于可视化水地球化学数据。利用常用的文件格式,如Microsoft Excel,逗号分隔值(CSV)和一般分隔文本作为输入数据格式,WQChartPy可以生成十二个地球化学图,不仅包括传统的Piper三线性,Durov,Chadha,Stiff,Chernoff面,Schoeller,Gibbs和Gaillardet图,还可以生成最近提出的图表,如矩形Piper, 颜色编码的 Piper、轮廓填充的 Piper 和 HFE-D 图。
作为一个基于 Python 的跨平台程序,WQChartPy 可以在 Windows、MacOS X 和 GNU/Linux 上运行。基于最古老、最流行的 Python 绘图库 Matplotlib,WQChartPy 生成的图形可以保存为可移植网络图形 (PNG)、可缩放矢量图形 (SVG) 或可移植文档格式 (PDF)。

Colab示例代码展示

此次我将利用colab平台对WQChartPy中的示例代码进行展示,也可以用jupyter操作。关于WQChartPy更多内容可以去github上查看。

1、上传示例数据data_template.csv至谷歌云盘,找到当前文件所在的目录。在colab平台上新建piper.ipynb文件。

在这里插入图片描述
在这里插入图片描述
在colab中集合了查看推荐的图表和谷歌大模型Gemini等等功能
一键点击查看推荐的图表,就会展示各种类型的图表
在这里插入图片描述
集成到colab中的Gemini大模型
在这里插入图片描述
2、安装WQChartPy库

pip install wqchartpy   # 就可以安装好了

在这里插入图片描述
3、绘制piper三线图

只需要下面两行代码就可以绘制出piper三线图,非常方便。
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/20195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十四天学会Vue——Vue 组件化编程(理论+实战)(第四天)

二、 Vue组件化编程 2.1 组件化模式与传统方式编写应用做对比: 传统方式编写应用 依赖关系混乱,不好维护:例如:比如需要引入js1,js2,js3,但是js3需要用到js1、2的方法,所以js1、2…

掌控未来,爱普生SR3225SAA用于汽车钥匙、射频电路的智慧引擎

为了响应市场需求,Epson使用独家QMEMS*2技术所生产的石英振荡器,与其精巧的半导体技术所制造的射频传输器电路,开发了SR3225SAA。不仅内建的石英震荡器之频率误差仅有2 ppm,更使其封装尺寸达仅3.2 mm x 2.5 mm,为客户大…

C#中接口的显式实现与隐式实现及其相关应用案例

C#中接口的显式实现与隐式实现 最近在学习演化一款游戏项目框架时候,框架作者巧妙使用接口中方法的显式实现来变相对接口中方法进行“密封”,增加实现接口的类访问方法的“成本”。 接口的显式实现和隐式实现: 先定义一个接口,接口…

dolphinscheduler docker部署海豚mysql版本,docker重新封装正在运行服务为镜像

1.官方文档: https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/guide/installation/standalone#%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93 2.github: dolphinscheduler/docs/docs/zh/guide/howto/datasource-setting.md at 3.2.1-release apache/do…

对于vsc中的vue命令 vue.json

打开vsc 然后在左下角有一个设置 2.点击用户代码片段 3.输入 vue.json回车 将此代码粘贴 &#xff08;我的不一定都适合&#xff09; { "vue2 template": { "prefix": "v2", "body": [ "<template>", " <…

探索Expect Python用法:深入解析与实战挑战

探索Expect Python用法&#xff1a;深入解析与实战挑战 在自动化和脚本编写领域&#xff0c;Expect Python已经成为了一种强大的工具组合。它结合了Expect的交互式会话处理能力和Python的编程灵活性&#xff0c;为开发者提供了一种全新的方式来处理复杂的自动化任务。然而&…

重构与优化-组织函数(1)

1. Extract Method "Extract Method"(提取方法)是软件工程中的一项基础重构技术,用于改进代码结构、增强代码的可读性和可维护性。此技术的核心思想是识别代码中可复用或者具有独立逻辑责任的部分,并将其抽离出来形成一个新的方法。以下是详细的步骤、原因、好处…

Ubuntu中PDF阅读器和编辑器

1. 福昕PDF编辑器 1.1. 下载地址 PDF阅读器下载_PDF编辑器下载_PDF软件官方下载_福昕软件官网 1.2. 安装 sudo dpkg -i signed_com.foxit.foxitpdfeditor_xxx_amd64_UOS.deb 2. WPS DPF 2.1. 下载地址 WPS Office 2019 for Linux-支持多版本下载_WPS官方网站 2.2. 使用 …

基于ES安装IK分词插件

前言 IK分词器插件是为Elasticsearch设计的中文分词插件&#xff0c;由Elasticsearch的官方团队之外的开发者medcl开发。它主要针对中文文本的分词需求&#xff0c;提供了较为准确的中文分词能力。以下是IK分词器插件的一些特点&#xff1a; 智能分词&#xff1a;IK分词器采用基…

如何 实现PHP和java 的 jwt token互通

其实最简单的问题就是 你的拓展包 用错了 PHP使用 composer require firebase/php-jwt java 需要引入 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.…

每天学点小知识:WSL安装Ubuntu 22.04 LTS

前言 本章教会你在不使用虚拟机下使用linux&#xff0c;但是这里建议还是使用虚拟机&#xff0c;或者装一双系统&#xff0c;wsl使用linux还是有很多问题的。 1. 简介WSL WSL&#xff08;Windows Subsystem for Linux&#xff09;是微软为Windows 10及以上版本开发的一项功能…

解释Servlet的作用和生命周期

Servlet 是 Java Web 技术中的关键组件&#xff0c;用于处理客户端发送的请求并生成响应。Servlet 是运行在 Web 服务器或应用服务器上的 Java 程序&#xff0c;它扩展了特定的 Java 接口&#xff0c;以便被服务器加载和执行。下面是 Servlet 的作用和生命周期的详细解释&#…

[AIGC] Java常用的JSON库及简单示例

Java常用的JSON库及简单示例 在Java的世界里&#xff0c;JSON库广泛用于日常开发工作&#xff0c;本文将介绍几个常用的JSON库并配以简单的示例代码。 1. Gson Gson是Google提供的一个用来在Java对象和JSON数据之间进行转换的Java库。 它有一定的学习曲线&#xff0c;但一旦熟…

rust变量遮蔽(variable shadow)不影响其正常析构行为和顺序

上代码&#xff1a; use std::ops::Drop;struct D(i32);impl Drop for D {fn drop(&mut self){println!("destruct {}", self.0);} }fn main() {let _x D(1);let _x D(2); //_x被遮蔽了(variable shadow here)println!("-----------"); }//运行程序…

SQL性能优化-该如何下手

SQL性能优化是数据库管理中非常重要的一环,它直接影响到数据库查询的响应时间和系统的整体性能。以下是一些关键的SQL性能优化方法,按照不同的方面进行分类和归纳: 一、SQL语句优化 **避免使用SELECT ***:尽量指定需要查询的具体字段,而不是使用SELECT *选择所有字段。这…

Redis用GEO实现附近的人功能

文章目录 ☃️概述☃️命令演示☃️API将数据库表中的数据导入到redis中去☃️实现附近功能 ☃️概述 GEO就是Geolocation的简写形式&#xff0c;代表地理坐标。Redis在3.2版本中加入了对GEO的支持&#xff0c;允许存储地理坐标信息&#xff0c;帮助我们根据经纬度来检索数据。…

淘宝镜像的https证书过期

错误原因&#xff1a; 淘宝镜像过期 早在 2021 年&#xff0c;淘宝就发文称&#xff0c;npm 淘宝镜像已经从 http://registry.npm.taobao.org 切换到了 http://registry.npmmirror.com。旧域名也将于 2022 年 5 月 31 日停止服务&#xff08;直到 HTTPS 证书到期才真正不能用了…

【面试常见问题】深拷贝与浅拷贝

目录 一、浅拷贝基础 定义与原理 面试知识点扩展 代码示例 使用 Object.assign() 展开运算符 ... 二、深拷贝详解 定义与重要性 面试技巧 代码示例 手动递归实现 使用JSON方法&#xff08;简单情况&#xff09; 使用第三方库lodash 三、深拷贝与浅拷贝的选择依据…

Unity学习笔记---音视频播放

音频 Audiolistener组件 AudioListener组件是音频监听器&#xff0c;将组件挂在角色或camera上面&#xff0c;每个场景中最多只有一个AudioListener组件。 AudioSource组件 AudioSource组件是音源&#xff0c;用来播放音频AudioClip.将他挂在产生声音的物体上&#xff0c;可…

筛斗数据提取技术在企业成本预测中的应用

在当今的商业环境中&#xff0c;准确的成本预测对于企业的财务健康和战略规划至关重要。随着大数据和人工智能技术的飞速发展&#xff0c;数据提取技术已经成为企业进行成本预测的强大工具。本文将探讨数据提取技术如何帮助企业进行成本预测&#xff0c;并分析其对企业决策过程…