1. 程式人生 > >matplotlib 修改字型屬性 (旋轉,型別,粗細,顏色,大小)

matplotlib 修改字型屬性 (旋轉,型別,粗細,顏色,大小)

參考的這

#一般字型統一用一個字典控制
font={'family':'serif',
     'style':'italic',
    'weight':'normal',
      'color':'red',
      'size':16
}

plt.text(x,y,'text',fontdict=font)
x=linspace(0,180,5)

 

 

改變字型text的方向

import matplotlib.pyplot as plt
from numpy import *
x=linspace(0,180,5)
'''
字型的方向
利用rotation 可以控制字型的方向
'''
for i in range(size(x)):
    print(x[i])
    plt.text(i*0.2,0.5,'matplotlib',rotation=x[i])
plt.savefig('rotation.png')

'''中文字型'''

'''
黑體:SimHei
微軟雅黑:Microsoft YaHei
微軟正黑體:Microsoft JhengHei
新宋體:NSimSun
新細明體:PMingLiU
細明體:MingLiU
華文新魏:STXinwei
華文行楷:STXingkai
華文隸書:STLliti
花紋琥珀:STHupo
華文彩雲:STCaiyun
方正姚體:FZYaoti
方正舒體:FZShuTi
標楷體:DFKai-SB
華文仿宋:STFangsong
華文中宋:STZhongsong
華文宋體:STSong
華文楷體:STKaiti
華文細黑:STXihei
幼圓:YouYuan
隸書:LiSu
楷體_GB 2313:Kaiti_GB2313
仿宋_GB2313:FangSong_GB2313
仿宋:FangSong


'''
families=['FZShuTi','LiSu','STXingkai','STXinwei']
for i,j in enumerate(families):
    num,fam=i,j
    plt.text(0.5,0.3*num,'字型',fontdict={'family':fam,'size':23})
plt.savefig('font.png')

 

'''
並不是所有的字型都有italic屬性,這時候就得用到oblique屬性了。
font-style:oblique是單純的使文字傾斜,不管該字型有沒有italic屬性。'''
#改變weight 和style
styles=['normal','italic','oblique']
weights=['light','normal','medium','semibold','bold','heavy','black']
plt.axis('off')
for i in range(len(styles)):
    for j in range(len(weights)):
        font={'style':styles[i],'weight':weights[j]}
        plt.text(i*0.3,j*0.15,'matplotlib',fontdict=font)
plt.savefig('style.png')