如何用Matplotlib绘制相型图?求图的英文名称及实现指引
三元相图(Ternary Phase Diagram)的名称与制作指南
图表英文名称
你要找的这类图表英文是 Ternary Phase Diagram(也可简称为 Ternary Plot/三角相图),它用于展示三个变量间的比例关系,常见于化学、材料科学、地质学等领域,用来呈现不同组分混合时的相态变化。
制作入门指南
以Python的Matplotlib生态为例,你可以按以下步骤开始:
- 安装依赖库
先确保安装matplotlib和专门绘制三元图的ternary工具,用pip执行:pip install matplotlib python-ternary - 基础绘制示例
下面是一个简单的代码模板,可快速生成带数据点的三元相图:import ternary # 初始化画布,设置刻度范围(这里以100为总比例) figure, tax = ternary.figure(scale=100) # 绘制边界与网格 tax.boundary(linewidth=2.0) tax.gridlines(color="#cccccc", multiple=10) tax.set_title("基础三元相图", fontsize=12) # 添加数据点(格式为(a,b,c),需满足a+b+c=100,对应三个轴的比例) data_points = [(25, 35, 40), (45, 25, 30), (15, 55, 30)] for point in data_points: tax.scatter([point], marker='o', color='#ff4444', s=60) # 设置轴标签 tax.left_axis_label("组分A", fontsize=10) tax.right_axis_label("组分B", fontsize=10) tax.bottom_axis_label("组分C", fontsize=10) # 显示图表 ternary.plt.show() - 进阶调整
- 若要添加图中的相区填充,可使用
tax.fill_region()方法,传入区域顶点坐标即可 - 刻度样式、颜色主题、图例等细节,可参考
ternary库的官方说明进行自定义
- 若要添加图中的相区填充,可使用
如果使用OriginLab、GraphPad Prism这类可视化软件,它们都内置了三元图绘制功能,导入数据后直接选择对应图表类型即可完成基础绘制。
内容的提问来源于stack exchange,提问作者Orlando
相关产品推荐
相关产品推荐

