matplotlib 中文字體問題

matplotlib 中文字體問題

簡介

Matplotlib 是一個 Python 的繪製二維圖形的模塊。它利用了 克隆了許多 Matlab 中的函數, 用以幫助用戶輕鬆地得到高質量的二維圖形。Matplotlib 能夠繪製多種形式的圖形包括普通的線圖,直方圖,餅圖,散點圖以及偏差線圖等;能夠比較方便的定製圖形的各類屬性好比圖線的類型,顏色,粗細,字體的大小等;它可以很好地支持一部分 TeX 排版命令,能夠比較美觀地顯示圖形中的數學公式。python

系統版本
Distributor ID: Debian
Description:    Debian GNU/Linux 8.5 (jessie)
Release:        8.5
Codename:       jessie

matplotlib版本
---
Metadata-Version: 2.0
Name: matplotlib
Version: 1.5.1

全局修改

1.修改字體vim

查找系統中的中文字體,若是沒有找到中文字體的話就安裝一個函數

fc-list :lang=zh -f "%{family}\n"post

文泉驛微米黑,文泉驛微米黑,WenQuanYi Micro Hei
文泉驛等寬正黑,文泉驛等寬正黑,WenQuanYi Zen Hei Mono
Droid Sans Fallback
Fixed
文泉驛正黑,文泉驛正黑,WenQuanYi Zen Hei
Fixed
文泉驛等寬微米黑,文泉驛等寬微米黑,WenQuanYi Micro Hei Mono
文鼎PL簡報宋,AR PL SungtiL GB
文泉驛點陣正黑,文泉驛點陣正黑,WenQuanYi Zen Hei Sharp

/usr/local/lib/python3.4/dist-packages/matplotlib/mpl-data/matplotlibrc 拷貝到 ~/.local/share/matplotlib/matlotlibrc測試

vim ~/.local/share/matplotlib/matplotlibrc字體

添加中文字體

2.修改符號code

按照第一步修改後,中文字體能夠正常展現,可是負號卻不能展現。因此須要修改符號,不使用Unicode字符。ip

修改符號字體

局部修改

# coding:utf-8

# 字體設置
def conf_zh(font_name):
    from pylab import mpl
    mpl.rcParams['font.sans-serif'] = [font_name]
    mpl.rcParams['axes.unicode_minus'] = False 

def run():
    import matplotlib.pyplot as plt
    import numpy as np

    t = np.arange(-5*np.pi, 5*np.pi, 0.001)
    y = np.sin(t)/t
    my_post = plt.plot(t, y)
    plt.title('title中文測試') 
    plt.xlabel('這裏是X座標')
    plt.ylabel('這裏是Y座標')

    plt.show()
if __name__ == "__main__":
    conf_zh("Droid Sans Fallback")
    run()
相關文章
相關標籤/搜索