1.导入字体库
在network中可以设置节点label的颜色,但导入字体库是一件很麻烦的事(当这个字体你电脑没有的时候需要去导入)。
这里介绍network中导入的方法。
network是有点基于matplotlib的。
所以在matplotlib中导入字体就可以在newwork中使用了。
1.1.先下载字库
通常是ttf文件,如
37686-华光准圆_CNKI.ttf
2.导入字库
输入字库文件的位置
from matplotlib import font_manager
font_manager.fontManager.addfont(r"font/37686-华光准圆_CNKI.ttf")
3、先查看电脑中有哪些字库
from matplotlib import font_manager
for font in font_manager.fontManager.ttflist:
# 查看字体名以及对应的字体文件名
print(font.name, '-', font.fname)
.name为字体名字,.fname为字体文件所在位置。
4.使用字体
全局使用
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["华光准圆_CNKI"]
进行这个设置后,不用再进行设置全局都是使用这个字体。
局部使用
2. draw label
看draw的代码:
可以看到font的设置都是int或string型。
而label却可以是字典。
这导致的问题是如果我们对不同节点的label在字体上有不同要求,我们没有办法在一个draw函数中做到。
但我们有
draw_networkx_labels()、
这是专门画label的函数,它不会画点和线。
先用draw画出图形(with_label设置为flase)
再通过for循环不断调用draw_networkx_labels()画label就可以做到了。