栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中使用networkX用表情符号替换节点标签

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中使用networkX用表情符号替换节点标签

它背后的想法不是很难,但是为了使其能够显示(至少在ubunto上),它给了我一些麻烦,因为并非所有字体都支持表情符号。我将显示简单明了的方式,然后显示一些最终对我有帮助的链接(也许您将不需要这些链接)。

从表情符号python包的表情符号备忘单中,我挑选了三个作为示例,这是代码。

G = nx.Graph()G.add_nodes_from([0,1,2])n0 = emoji.emojize(':thumbsup:',use_aliases=True)n1 = emoji.emojize(':sob:',use_aliases=True)n2 = emoji.emojize(':joy:',use_aliases=True)labels ={0:n0,1:n1,2:n2}nx.draw_networkx(G,labels=labels, node_color = 'w', linewidths=0, with_labels=True, font_family = 'Symbola' ,font_size = 35)    plt.show()

遇到的困难:

1-我的机器在ubunto 14.04上,我无法显示它们总是显示为矩形的任何表情符号

使用以下命令(此处提及)安装所需的字体 Symbola

sudo apt-get install ttf-ancient-fonts

2- Maplotlib(networkx调用绘制)未使用安装的字体。

通过几次有用的讨论我将Symbola的.tff字体文件复制并粘贴到默认的matplotib目录中(该目录中会提取要使用的字体)。

cp /usr/share/fonts/truetype/ttf-ancient-scripts/Symbola605.ttf /usr/share/matplotlib/mpl-data/fonts/ttf

然后,我必须删除fontList.cache文件才能加载新字体。

rm ~/.cache/matplotlib/fontList.cache

注意

您可以通过将输入更改为draw_networkx来获得不同的视图,例如,不发送

linewidths
将为每个节点显示圆形边框的视图,也如果您希望节点的特定背景颜色将
color_node
白色从白色更改为您想要的颜色…以获取更多详细信息检查文档。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/652757.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号