Python, визуализирующий график атомов - как использовать xyz2graph для визуализации различных видов атомов как разных цветов?

Это файл.xyz, который я хочу визуализировать с помощью xyz2graph:

18
Atoms. File created from networkx graph by get_decomposition_calc_SRO1.py_edited_by_hand
Ga 0.0 0.0 0.0
In 1.59 0.917986928012 2.583
In 0.0 0.0 5.166
Ga 1.59 0.917986928012 7.749
Ga 0.0 0.0 10.332
Ga 1.59 0.917986928012 12.915
Ga 1.59 2.75396078403 0.0
In 3.18 3.67194771205 2.583
Ga 1.59 2.75396078403 5.166
In 3.18 3.67194771205 7.749
Ga 1.59 2.75396078403 10.332
Ga 3.18 3.67194771205 12.915
Ga 3.18 5.50792156807 0.0
In 4.77 6.42590849608 2.583
In 3.18 5.50792156807 5.166
Ga 4.77 6.42590849608 7.749

Это неподвижное изображение вывода: обратите внимание, как все узлы (помеченные In и Ga имеют ОДИН цвет).

Код, используемый для создания этого изображения, копируется прямо с этого веб-сайта:

Здесь показан точный фрагмент кода:

from xyz2graph import MolGraph, to_networkx_graph, to_plotly_figure
from plotly.offline import offline

# Create the MolGraph object
mg = MolGraph()

# Read the data from the .xyz file
mg.read_xyz('path/molecule.xyz')

# Create the Plotly figure object
fig = to_plotly_figure(mg)

# Plot the figure
offline.plot(fig)

Как я могу изменить цвет каждого атома в химической структуре?

2 ответа

Решение

РЕШЕНИЕ

Откройте пакет и отредактируйте cpk_colors словарь в helpers.py включить цвета для атомных видов

Почему?

Проблема заключалась в том, что не было цвета по умолчанию, связанного с атомами индия и галлия в helpers.py

Если мы исследуем исходный код, есть два ключевых файла: xyz2graph.py а также helpers.py

xyz2graph.py содержит ковалентные радиусы двух рассматриваемых атомов, но helpers.py не имеет связанных цветов вcpk_colors диктат

Как вы правильно заметили, элементы, не имеющие связанного цвета, по умолчанию розовые. Вы можете импортироватьcpk_colorsсловарь и перезаписать доступные цвета или установить цвета для "розовых" элементов. Например:

from xyz2graph.helpers import cpk_colors

cpk_colors['Ga'] = 'green'

Результат:

ht tps:https://stackru.com/images/2f10fdc5fcbe3d14f4bed7084df65b608003ee17.png

Другие вопросы по тегам