【Python】Matplotlib绘图中文乱码问题的解决方案
生活随笔
收集整理的這篇文章主要介紹了
【Python】Matplotlib绘图中文乱码问题的解决方案
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
亂碼問題描述
以之前一篇博文的內(nèi)容來說吧,本圖的坐標軸需要使用中文,我們按照庫函數(shù)的使用方法,可能會寫出這樣的Code:
import numpy as np import matplotlib.pyplot as plt import matplotlib as mplmu = 60.0 sigma = 2.0 x = mu + sigma*np.random.randn(500)bins = 50fig, ax = plt.subplots(1, 1)n, bins, patches = ax.hist(x, bins, density=True, histtype="bar", facecolor="#99FF33", edgecolor="#00FF99", alpha=0.75)y = ((1/(np.power(2*np.pi, 0.5)*sigma))*np.exp(-0.5*np.power((bins-mu)/sigma, 2)))ax.plot(bins, y, color="#7744FF", ls="--", lw=2)ax.grid(ls=":", lw=1, color="gray", alpha=0.2)ax.text(54, 0.2, r"$y=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}}$", {"color":"#FF5511", "fontsize":20})ax.set_xlabel("體重") ax.set_ylabel("概率密度") ax.set_title(r"體重的直方圖:$\mu=60.0$, $\sigma=2.0$", fontsize=16)plt.show()接下來就會爆一堆“紅字”(異常),制出的圖是這樣的:
紅線圍住的區(qū)域都是亂碼,這可真令人頭疼啊……
加上utf-8題頭的注釋
# -*- coding:utf-8 -*-結(jié)果還是一樣的,亂碼。
那怎么做呢?
正解
處理方式是在代碼中加入這兩行代碼:
mpl.rcParams["font.sans-serif"] = ["KaiTi"] mpl.rcParams["axes.unicode_minus"] = False完整代碼
在這里 → Here
總結(jié)
加上這三行代碼(其實只加上后面兩行代碼就行),就能有效處理Matplotlib的中文亂碼問題。
總結(jié)
以上是生活随笔為你收集整理的【Python】Matplotlib绘图中文乱码问题的解决方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】机器学习用到的常用术语
- 下一篇: 异步爬虫-aiohttp库、Twiste