最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Matplotlib中文亂碼的3種解決方案

 更新時間:2018年11月15日 10:04:41   作者:標點符  
當我們用matplotlib作圖時,往往會發(fā)現(xiàn)中文的文字變成了小方塊,我在繪制決策樹的時候就碰到了這個問題。下面這篇文章主要給大家總結(jié)介紹了關于Matplotlib中文亂碼的3種解決方案,需要的朋友可以參考下

前言

Matplotlib是一個Python 2D繪圖庫,它可以在各種平臺上以各種硬拷貝格式和交互式環(huán)境生成出具有出版品質(zhì)的圖形。 Matplotlib可用于Python腳本,Python和IPython shell,Jupyter筆記本,Web應用程序服務器和四個圖形用戶界面工具包。

然而最近在使用matplotlib默認情況會出現(xiàn)亂碼問題,原則上matplotlib是支持中文的,只是在配置信息里沒有中文字體的相關信息。

解決方法如下:

解決方案一:修改配置文件

matplotlib 從配置文件 matplotlibrc 中讀取配置,字體相關內(nèi)容也在其中。查詢當前matplotlibrc 所在目錄,可以用 get_configdir()函數(shù):

import matplotlib
matplotlib.get_configdir()

通常存放位置:lib\site-packages\matplotlib\mpl-data\matplotlibrc

涉及到字體部分的設置內(nèi)容為:

#font.family : sans-serif
#font.style : normal
#font.variant : normal
#font.weight : normal
#font.stretch : normal
## note that font.size controls default text sizes. To configure
## special text sizes tick labels, axes, labels, title, etc, see the rc
## settings for axes and ticks. Special text sizes can be defined
## relative to font.size, using the following values: xx-small, x-small,
## small, medium, large, x-large, xx-large, larger, or smaller
#font.size : 10.0
#font.serif : DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
#font.sans-serif : DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
#font.cursive : Apple Chancery, Textile, Zapf Chancery, Sand, Script MT, Felipa, cursive
#font.fantasy : Comic Sans MS, Chicago, Charcoal, ImpactWestern, Humor Sans, xkcd, fantasy
#font.monospace : DejaVu Sans Mono, Bitstream Vera Sans Mono, Computer Modern Typewriter, Andale Mono, Nimbus Mono L, Courier New, Courier, Fixed, Terminal, monospace

matplotlib 默認使用的 font.family 是 sans-serif,即無襯線字體,可以看到在font.sans-serif中設置的全部為西文字體,這里的設置和css樣式文件中設置差不多,只需要添加系統(tǒng)存在的字體名稱即可(需要注意的是,matplotlib:

只支持ttf格式的字體),設置時需要將注釋符號#去除。

解決方案二:重載配置文件

import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['font.serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False # 解決保存圖像是負號'-'顯示為方塊的問題,或者轉(zhuǎn)換負號為字符串

解決方案三:自定義字體

import numpy as np
import pylab as pl
import matplotlib.font_manager as fm

myfont = fm.FontProperties(fname=r'D:\Fonts\simkai.ttf') # 設置字體
t = np.arange(0.0,2.0 * np.pi,0.01) # 自變量取值范圍
s = np.sin(t) # 計算正弦函數(shù)值
z = np.cos(t) # 計算余弦函數(shù)值
pl.plot(t,s,label='正弦')
pl.plot(t,z,label='余弦')
pl.xlabel('x-變量',fontproperties=myfont,fontsize=24) #設置標簽
pl.ylabel('y-正弦余弦函數(shù)值',fontproperties=myfont,fontsize=24)
pl.title('sin-cos函數(shù)圖像',fontproperties=myfont,fontsize=32) #圖像標題
pl.legend(prop=myfont)
pl.show()

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • django使用F方法更新一個對象多個對象字段的實現(xiàn)

    django使用F方法更新一個對象多個對象字段的實現(xiàn)

    這篇文章主要介紹了django使用F方法更新一個對象多個對象字段的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • cProfile Python性能分析工具使用詳解

    cProfile Python性能分析工具使用詳解

    這篇文章主要介紹了cProfile Python性能分析工具使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python文件編寫好后如何實踐

    python文件編寫好后如何實踐

    在本篇文章里小編給大家分享了關于python文件編寫好后如何實踐的相關內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • PyTorch一小時掌握之遷移學習篇

    PyTorch一小時掌握之遷移學習篇

    這篇文章主要介紹了PyTorch一小時掌握之遷移學習篇,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Python深度學習神經(jīng)網(wǎng)絡基本原理

    Python深度學習神經(jīng)網(wǎng)絡基本原理

    人工神經(jīng)網(wǎng)絡(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡行為特征,進行分布式并行信息處理的算法數(shù)學模型
    2021-10-10
  • 詳解python 一維、二維列表的初始化問題

    詳解python 一維、二維列表的初始化問題

    這篇文章主要介紹了python 一維、二維列表的初始化,本文通過兩種方式給大家詳細講解,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2022-06-06
  • python zip()函數(shù)使用方法解析

    python zip()函數(shù)使用方法解析

    這篇文章主要介紹了python zip()函數(shù)使用方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • 如何使用Python代碼創(chuàng)建表格

    如何使用Python代碼創(chuàng)建表格

    如果能夠?qū)⑽覀兊臒o序數(shù)據(jù)快速組織成更易讀的格式,對于數(shù)據(jù)分析非常有幫助,下面這篇文章主要介紹了關于如何使用Python代碼創(chuàng)建表格的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 基于Python編寫一個ISBN查詢工具

    基于Python編寫一個ISBN查詢工具

    這篇文章主要為大家詳細介紹了如何利用Python編寫一個簡單的ISBN查詢工具,可以用于圖書管理、圖書銷售、圖書收集和閱讀等場景,需要的可以參考一下
    2023-05-05
  • python列表推導式入門學習解析

    python列表推導式入門學習解析

    這篇文章主要介紹了python列表推導式入門學習解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論

元朗区| 青川县| 平遥县| 安塞县| 永靖县| 元氏县| 永平县| 开原市| 琼海市| 襄垣县| 金寨县| 茂名市| 遂宁市| 赤壁市| 潼南县| 黄平县| 通海县| 渭南市| 巴里| 四川省| 岗巴县| 临沭县| 页游| 扬中市| 漳平市| 凌源市| 抚顺县| 四子王旗| 福建省| 商都县| 柞水县| 芒康县| 衡阳市| 星子县| 阳曲县| 札达县| 乌拉特后旗| 讷河市| 板桥市| 潮安县| 新绛县|