使用Matplotlib画元素周期表
621 字
3 分钟
使用Matplotlib画元素周期表
使用Matplotlib画元素周期表
进行材料计算或者查询数据库时,我们有时候想了解或者想向别人展示计算或者查询的元素的分布状况,这个时候,我们可以使用元素周期表来直观地表示元素的分布状况。
pymatviz库内置了元素周期表功能,但它的文档写得很模糊,要看懂如何使用它的元素周期表功能,需要花费一段时间,反而不如直接使用Matplotlib来画元素周期表来的简单。
我们可以使用如下代码来画元素周期表:
1. 导入库并定义全局参数和函数
import matplotlib.pyplot as pltfrom pltsci import whole_plot_set, half_plot_set, set_ticks, cm2. 定义元素周期表
定义元素周期表的方式其实很简单,那就是使用一个二维数组来表示元素周期表。有字的位置是元素,没有字的位置是空格。然后可以使用plt.text()函数来在指定位置添加元素的名称。
# 元素符号二维数组,描述周期表布局element_symbols = [ ['H', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'He'], ['Li', 'Be', '', '', '', '', '', '', '', '', '', '', 'B', 'C', 'N', 'O', 'F', 'Ne'], ['Na', 'Mg', '', '', '', '', '', '', '', '', '', '', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar'], ['K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr'], ['Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe'], ['Cs', 'Ba', '*', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn'], ['Fr', 'Ra', '**', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og'], ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''], ['', '', '*', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu'], ['', '', '**', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr']]结果:

使用Matplotlib画元素周期表
https://www.kaimoe.cn/posts/matplotlib画元素周期表/
开萌笔记本