Итак, у меня есть следующий код:
import matplotlib.pyplot as plt
%matplotlib inline
# Following should supposedly set the font correctly:
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.serif'] = ['Muli'] + plt.rcParams['font.serif']
# create data
size_of_groups=[12,11,30,3]
colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']
# Create a pieplot
my_pie,_,texts = plt.pie(size_of_groups,radius = 1.2,colors=colors,autopct="%.1f%%",
textprops = {'color':'w', 'size':15, 'weight':'bold'}, pctdistance=0.75, labeldistance=0.7) #pctdistance and labeldistance change label positions.
plt.setp(my_pie, width=0.6, edgecolor='white')
fig1 = plt.gcf()
fig1.show()
Однако, выполнение этого кода не дает правильный шрифт (Muli). Я не могу определить, что я делаю неправильно: ![img](https://i.gyazo.com/5c19f44f1437bfc71c4be5e8fcee62e6.png)
То же самое относится к меткам с помощью метода plt.text
.
Следующий код генерирует гистограммы:
import matplotlib.pyplot as plt
%matplotlib inline
import matplotlib.pyplot as plt
size_of_groups=[12,11,30,3]
colors = ['#F92969','#FACA0C','#17C37B','#D9DFEB']
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.serif'] = ['Muli'] + plt.rcParams['font.sans-serif']
plt.rcParams['font.size'] = 15
plt.bar(height=size_of_groups,x=['a','b','c','d'],color=colors,width=0.95,label=['1',2,3,4]) #pctdistance and labeldistance change label positions.
# Setting the font to what I want it to be (Muli), using plt.text to place labels:
for v,i in enumerate(size_of_groups):
if i > 5:
plt.text(v-0.05,i-2.75,str(v),color='white',fontweight='bold',fontdict=None)
if i <= 5:
plt.text(v-0.05,i+0.8,str(v),color='gray',fontweight='bold',fontdict=None)
Еще раз, я получаю очень симпатичный график, но не совсем правильный шрифт:
![img2](https://i.gyazo.com/4fb3a1cb3d9fa246f51b8bf002d6ee7d.png)
Так что мой вопрос в том, что именно мне кажется не хватает того, что делает это, поэтому я не вижу шрифт, который я хочу.