Vue 3D de l'électronégativité

periodic_table_electronegativity.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Periodical table
3D view of electronegativity
"""
 
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
 
 
data = np.array([
[2.2,1,0.9,0.8,0.8,0.8,0.7],
[0,1.6,1.3,1,1,0.9,0.9],
[0,0,0,1.4,1.2,1.3,0],
[0,0,0,1.5,1.3,1.3,0],
[0,0,0,1.6,1.6,1.5,0],
[0,0,0,1.6,2.2,2.4,0],
[0,0,0,1.6,1.9,1.9,0],
[0,0,0,1.8,2.2,2.2,0],
[0,0,0,1.9,2.3,2.2,0],
[0,0,0,1.8,2.2,2.3,0],
[0,0,0,1.9,1.9,2.5,0],
[0,0,0,1.6,1.7,2,0],
[0,2,1.6,1.8,1.8,1.6,0],
[0,2.5,1.9,2,1.8,1.8,0],
[0,3,2.2,2.2,2,2,0],
[0,3.5,2.6,2.5,2.1,2,0],
[0,4,3.2,3,2.7,2.2,0],
[0,0,0,0,0,0,0],
])
 
column_names = ['1','2','3','4','5','6','7']
row_names = ['IA','IIA','IIIB','IVB','VB','VIB','VIIB','VIII','VIII','VIII','IB','IIB','IIIA','IVA','VA','VIA','VIIA','VIIIA']
 
fig = plt.figure()
ax = Axes3D(fig)
 
lx= len(data[0])            # Work out matrix dimensions
ly= len(data[:,0])
xpos = np.arange(0,lx,1)    # Set up a mesh of positions
ypos = np.arange(0,ly,1)
xpos, ypos = np.meshgrid(xpos+0.5, ypos+0.4)
 
xpos = xpos.flatten()   # Convert positions to 1D array
ypos = ypos.flatten()
zpos = np.zeros(lx*ly)
 
dx = 0.5 * np.ones_like(zpos)
dy = dx.copy()
dz = data.flatten()
 
ax.bar3d(xpos,ypos,zpos, dx, dy, dz, color='b')
 
#sh()
ax.w_xaxis.set_ticklabels(column_names)
ax.w_yaxis.set_ticklabels(row_names)
ax.set_xlabel('periode')
ax.set_ylabel('Famille')
ax.set_zlabel('Electronegativite')
 
plt.show()
Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus
  • teaching/progappchim/periodical_table_electronegativity.txt
  • Dernière modification : 2020/04/01 09:26
  • de villersd