大数据可视化-三元图

news2024/11/15 19:27:03

三元图是一种用于表示三种变量之间关系的可视化工具,常用于化学、材料科学和地质学等领域。它的特点是将三个变量的比例关系在一个等边三角形中展示,使得每个点的位置代表三个变量的相对比例。


1. 结构

  1. 三个角分别表示三个变量的最大值(通常为100%)。
  2. 每个点的坐标反映了这三个变量的比例关系。

2. 应用

  1. 化学配比:显示不同成分在合成反应中的比例。
  2. 材料科学:分析合金成分对材料性能的影响。
  3. 地质学:表示土壤成分的比例,如砂、淤泥和粘土。

3. 优点

  1. 直观展示三者间的相互关系。
  2. 便于识别特定组合的最佳方案。

4. 限制

  1. 适用于只有三种变量的情况,复杂性增加时可读性下降。

三元图是深入了解变量间关系的有效工具,能够帮助研究人员和决策者做出更好的分析和选择。

5.代码

#忽略警告
import warnings
warnings.filterwarnings('ignore')
#导入绘图库
import matplotlib.pyplot as plt
from mpltern.datasets import get_dirichlet_pdfs
import pandas as pd

#定义alpha参数
alpha = [2,4,8]
#获取Dirichlet分布的概率密度pdf数据
t ,l, r, v = get_dirichlet_pdfs(n= 61,alpha=alpha)
df = pd.DataFrame({'x1':t,'x2':l,'x3':r,'pdf':v})

df

#绘制三元图
fig = plt.figure(figsize=(8,6),dpi=1200)
ax = fig.add_subplot(1,1,1, projection='ternary')
#设置颜色映射和阴影
camp = 'Blues'
shading = 'gouraud'
#绘制三元图的颜色图
cs = ax.tricontourf(t,l,r,v,cmap=camp,shading=shading,rasterized=True)
#添加等高线
ax.tricontour(t,l,r,v,colors='k',linewidths=0.5)
ax.set_tlabel('$x_1$', fontsize=12)
ax.set_llabel('$x_2$', fontsize=12)
ax.set_rlabel('$x_3$', fontsize=12)
ax.set_title("${\\mathbf{\\alpha}}$="+ str(alpha), fontsize=12)
cax = ax.inset_axes([1.05, 0.1, 0.05, 0.9], transform=ax.transAxes)
colorbar = fig.colorbar(cs, cax=cax)
colorbar.set_label('PDF', rotation=270,va='baseline')
plt.savefig('三元图.pdf',format='pdf',bbox_inches='tight')
plt.show()

 

#不同条件下的三元图
fig = plt.figure(figsize=(10.8,8.8),dpi=1200)
fig.subplots_adjust(left=0.1, right=0.9, top=0.9, bottom=0.1, wspace=0.5, hspace=0.5)
#定义alpha参数
alphas = [(1.5,1.5,1.5),(5.0,5.0,5.0),(1.0,2.0,2.0),(2.0,4.0,8.0)]

#绘制四个不同的三元图
for i,alpha in enumerate(alphas):
    ax = fig.add_subplot(2,2,i+1, projection='ternary')
    #获取Dirichlet分布的概率密度pdf数据
    t ,l, r, v = get_dirichlet_pdfs(n= 61,alpha=alpha)
    #设置颜色映射和阴影
    camp = 'Blues'
    shading = 'gouraud'
    
    #绘制三元图的颜色图
    cs = ax.tricontourf(t,l,r,v,cmap=camp,shading=shading,rasterized=True)
    #添加等高线
    ax.tricontour(t,l,r,v,colors='k',linewidths=0.5)
    #设置坐标轴标签
    ax.set_tlabel('$x_1$', fontsize=12)
    ax.set_llabel('$x_2$', fontsize=12)
    ax.set_rlabel('$x_3$', fontsize=12)
    #设置标题
    ax.set_title("${\\mathbf{\\alpha}}$="+ str(alpha), fontsize=12)
    #添加颜色图的颜色条
    cax = ax.inset_axes([1.05, 0.1, 0.05, 0.9], transform=ax.transAxes)
    colorbar = fig.colorbar(cs, cax=cax)
    colorbar.set_label('PDF', rotation=270,va='baseline')
plt.savefig('不同条件下的三元图.pdf',format='pdf',bbox_inches='tight')
plt.show()

 

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

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

相关文章

Centos7.9 使用 Kubeadm 自动化部署 K8S 集群(一个脚本)

文章目录 一、环境准备1、硬件准备(虚拟主机)2、操作系统版本3、硬件配置4、网络 二、注意点1、主机命名格式2、网络插件 flannel 镜像拉取2.1、主机生成公私钥2.2、为啥有 Github 还用 Gitee2.3、将主机公钥添加到 Gitee2.3.1、复制主机上的公钥2.3.2、…

【C++篇】走进C++标准模板库:STL的奥秘与编程效率提升之道

文章目录 C STL 初探:打开标准模板库的大门前言第一章: 什么是STL?1.1 标准模板库简介1.2 STL的历史背景1.3 STL的组成 第二章: STL的版本与演进2.1 不同的STL版本2.2 STL的影响与重要性 第三章: 为什么学习 STL?3.1 从手动编写到标准化解决方…

FortiGate 防火墙 DNS 地址转换(DNS Translation)

简介 本例介绍 FortiGate 防火墙 DNS 地址转换(DNS Translation)配置方法。 一、 网络结构 网络结构如下图,PC1 连接在 FG60B 的 Internal 接口,FG60B 的 Wan1 接口连接 FG80CM 的 DMZ 接口,Wan1 接口开启 DNS 服务…

无人机之工作温度篇

无人机的工作温度是一个相对复杂的问题,因为它受到多种因素的影响,包括无人机的类型(如民用、军用)、设计规格、应用场景以及环境条件等。以下是对无人机工作温度范围的详细解析: 一、正常工作温度范围 一般来说&…

LeetcodeTop100 刷题总结(二)

LeetCode 热题 100:https://leetcode.cn/studyplan/top-100-liked/ 文章目录 八、二叉树94. 二叉树的中序遍历(递归与非递归)补充:144. 二叉树的前序遍历(递归与非递归)补充:145. 二叉树的后序遍…

RK3568驱动指南|第十六篇 SPI-第190章 配置模式下寄存器的配置

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

JavaEE---Spring之小练习

实现一个验证码项目 后端代码 后端代码测试 整体代码测试 输入正确的验证码 输入错误的验证码

【C++掌中宝】缺省参数的全面解析

文章目录 前言1. 什么是缺省参数?2. 缺省参数的分类2.1 全缺省【备胎是如何使用的😅】2.1.1 疑难细究 2.2 半缺省2.2.1 错误用法示范2.2.2 正确用法示范2.2.3🔥实参缺省与形参缺省的混合辨析🔥 3. 缺省参数的规则和限制4. 规定必须…

Gartner发布2024年中国基础设施战略技术成熟度曲线

Gartner于近日首次发布2024年中国基础设施战略技术成熟度曲线,该曲线收录的21项技术主要覆盖四大领域,分别是:自主可控计划、AI 影响、运营效率以及基础设施现代化。 Gartner研究总监张吟铃表示:“中国市场与全球市场虽然使用的技…

[Redis][预备知识]详细讲解

目录 1.命令1.最核心的两个命令1.SET2.GET3.说明 2.基本全局命令0.前言1.KEYS2.EXISTS3.DEL4.EXPIRE5.TTL6.TYPE 2.数据结构和内部编码3.单线程架构1.单线程模型2.单线程还效率高?(重点)3.注意 1.命令 1.最核心的两个命令 1.SET 语法:SET key value功…

jmeter发送邮件:详细步骤与功能配置指南?

jmeter发送邮件如何设置?怎么配置JMeter以发送邮件? Apache JMeter作为一款强大的性能测试工具,不仅可以用于测试Web应用的性能,还可以通过插件扩展其功能,实现诸如发送邮件等操作。AokSend将详细介绍如何使用JMeter发…

核心复现—计及需求响应的区域综合能源系统双层优化调度策略

目录 一、主要内容: 二、摘要介绍: 三、综合能源系统结构: 四、实际仿真运行结果: 五、代码数据下载: 一、主要内容: 在模型构建部分:建立了一个综合能源系统双层优化调度模型,…

openeuler22.03 LTS 源码编译安装fastdfs-6.06

openeuler22.03 LTS 源码编译安装fastdfs-6.06 1、环境 名称版本备注openeuler22.03 LTSfastdfs6.06libfastcommon1.0.43libfastcommon是一个开源的C语言库,用于实现高性能的分布式文件系统和分布式存储系统 2、准备安装包 fastdfs 官网: https://git…

《概率论与数理统计》学渣笔记

文章目录 1 随机事件和概率1.1 古典概型求概率随机分配问题简单随机抽样问题 1.2 几何概型求概率1.3 重要公式求概率 2 一维随机变量及其分布2.1 随机变量及其分布函数的定义离散型随机变量及其概率分布(概率分布)连续型随机变量及其概率分布&#xff08…

【machine learning-12-多元线性回归】

线性回归-多特征 多特征线性回归多特征表示更简单的多元线性回归表示方法 之前节的线性回归为简化都是用的单特征,但现实中我们的预测因素很复杂不可能只有一个特征,下面总结多特征线性回归 多特征 之前总是用房价举例,预测房价和房屋面积的…

个人量化成功之路-----从 Yahoo! Finance 下载交易策略数据

雅虎财经 是投资者最受欢迎的网站之一。它提供有关股票、债券、货币和加密货币的各种市场数据。它还提供市场新闻、报告和分析、期权和基本数据 官方的雅虎财经 API 于 2017 年被下架 Yfinance 是由 Ran Aroussi 开发的开源 Python 库,用于访问雅虎财经上可用的财…

基于微信小程序的宠物寄养平台的设计与实现+ssm(lw+演示+源码+运行)

摘 要 随着科技和网络的进步,微信小程序技术与网络、生活贴和的更加紧密。需要依靠客户端的单机系统逐渐被淘汰,利用互联网可以处理大量数据的新型系统如雨后春笋般迅速发展起来。这类系统和信息化时代的同步发展对传统的办公管理方式造成了很大的压力。…

C++进阶学习——模版进阶

1. 非类型模板参数 模板参数分类类型形参与非类型形参。 类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。 非类型形参,就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成…

如何基于scrcpy改造实现大厂一键连招/触摸宏功能(带java源码)-千里马安卓framework实战

背景: 前面公众号文章已经分享过如何实现这种大厂里面一键连招,触摸宏的功能,原理本身是对dev/input下面的节点进行读取保存文件,然后在读取文件进行写入dev/input下面的节点,从而实现了触摸事件的读取和写入&#xf…

OpenMVG试用

1 OpenMVG 简介 全称 Open Multiple View Geometry,是法国人 Pierre Moulon 读博期间开源的一个 C 库 最早版本 OpenMVG 0.1 是 2013年 2月 发布的,目前最新版本是 2021年 10月 发布的 OpenMVG 2.0 LinkedIn 显示,此前一直在…