0

我正在尝试更改 RDKIT 中原子标签的字体类型。默认字体类型是“sans”。我在 colab 上运行了这段代码:

from rdkit import Chem
from rdkit.Chem.Draw import IPythonConsole
from rdkit.Chem import Draw


smiles = 'C1=CC=C(C=C1)I'
mol = [Chem.MolFromSmiles(smiles)]

IPythonConsole.drawOptions.atomLabelFontFace = 'Times New Roman'

pic = Draw.MolsToGridImage(mol, returnPNG=False, subImgSize= (256, 256), molsPerRow=1)

display (pic)

但似乎字体类型没有改变,当我尝试其他字体类型时也是如此。怎么了?

4

1 回答 1

0

用于IPythonConsole.drawOptions.fontFile选择字体。

Colab 中没有安装 Times New Roman,所以你必须安装它或者你可以使用现有的 serif 字体(LiberationSerif-Regular.ttf)。

from rdkit import Chem
from rdkit.Chem import rdDepictor, Draw
rdDepictor.SetPreferCoordGen(True)
from rdkit.Chem.Draw import IPythonConsole
IPythonConsole.molSize = (600, 300)

IPythonConsole.drawOptions.fontFile = r'/usr/share/fonts/truetype/liberation/LiberationSerif-Regular.ttf'
IPythonConsole.drawOptions.explicitMethyl = True

m = Chem.MolFromSmiles('CC(F)CC(Cl)C(C(=O)O)C(P)CC(S)CC(Br)CN') # Dummy molecule
rdDepictor.Compute2DCoords(m)
m

在此处输入图像描述

在本地计算机上,您还需要设置字体的路径:

IPythonConsole.drawOptions.fontFile = r'C:\Windows\Fonts\times.ttf'

于 2021-12-26T11:51:59.813 回答