Отображение текста в кодировке Юникод с использованием matplotlib и networkx - PullRequest
1 голос
/ 06 марта 2019

Я пытаюсь отобразить график, содержащий 3 узла.Метки узлов находятся в Деванагари.Я попытался использовать свойства шрифта в matplotlib для одного слова деванагари, и он отлично работает.Он не отображает метки узлов, когда они используются для построения графика.Может кто-нибудь найти способ отображения текста деванагари на графике?Я использую Python 2.7

#!/usr/bin/env python 
# -- coding: utf-8 -- 
%matplotlib notebook
import matplotlib.font_manager as fm 
import matplotlib.pyplot as plt 
import networkx as nx
prop = fm.FontProperties(fname='NotoSerifDevanagari-Regular.ttf') 
x=0.2
y=0.2
labels={}
graph = nx.Graph()

words= ["सनरायझर्स"," जैत ","जोडलें"]


for word in words:
   w = word.decode('utf-8')
   graph.add_node(w)
   labels[w]=w
graph.add_edge(words[0].decode('utf-8'),words[1].decode('utf-8'))
graph.add_edge(words[1].decode('utf-8'),words[2].decode('utf-8'))
pos=nx.spring_layout(graph)

nx.draw(graph,labels=words, with_labels = True)
plt.text(x, y, word, fontproperties=prop) 
plt.show()enter code here
...