避免Matplotlib绘图中文乱码

简介: 本文介绍避免Matplotlib绘图出现中文乱码问题的解决方案。

以之前一篇博文的内容来说吧,本图的坐标轴需要使用中文,我们按照库函数的使用方法,可能会写出这样的代码:

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl

mu = 60.0
sigma = 2.0
x = mu + sigma*np.random.randn(500)

bins = 50

fig, 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()

接下来就会爆一堆“红字”(异常),制出的图是这样的:

image.png

红线围住的区域都是乱码,这可真令人头疼啊……

加上utf-8题头的注释

# -*- coding:utf-8 -*-

结果还是一样的,乱码。

那怎么做呢?

正解

处理方式是在代码中加入这两行代码:

mpl.rcParams["font.sans-serif"] = ["KaiTi"]
mpl.rcParams["axes.unicode_minus"] = False

image.png

完整代码见这里 → Matplotlib在直方图中添加概率密度曲线和数学表达式

相关文章
|
1月前
|
Python
Matplotlib 绘图标记
Matplotlib 绘图标记
32 2
|
3月前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 9
在本教程中,我们将探讨如何使用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记。您可以选择不同的线类型(如实线 `'-'`、虚线 `':'` 等),以及颜色类型(如红色 `'r'`、绿色 `'g'` 等)。同时,通过调整 `markersize (ms)`、`markerfacecolor (mfc)` 和 `markeredgecolor (mec)` 参数,可以定制标记的大小和颜色。
37 1
|
3月前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 3
这段Matplotlib教程展示了如何通过`plot()`方法的`marker`参数来自定义图表标记,为数据点添加独特的视觉风格。例如,通过设置`marker = '*'`,可以使每个数据点显示为星形标记。这在需要对坐标轴进行特殊标注时尤为有用。下面的示例代码生成了一个带有星形标记的简单折线图。
42 2
|
3月前
|
搜索推荐 数据可视化 Python
Matplotlib 教程 之 Matplotlib 绘图标记 4
本教程介绍如何使用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记,使你的数据可视化更加直观和个性化。通过实例演示了如何设置下箭头作为数据点标记。
26 1
|
3月前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 8
在 Matplotlib 中,可以通过 `plot()` 方法的 `marker` 参数自定义图表标记。此外,还可以设置线类型(如 `'-'` 实线、`':'` 虚线等)和颜色(如 `'r'` 红色、`'g'` 绿色等)。使用 `markersize` (`ms`) 定义大小,`markerfacecolor` (`mfc`) 和 `markeredgecolor` (`mec`) 分别定义标记的内部和边框颜色。
38 0
|
3月前
|
数据可视化 Python
Matplotlib 教程 之 Matplotlib 绘图标记 6
在本教程中,我们将探讨如何利用 Matplotlib 的 `plot()` 方法中的 `marker` 参数来自定义图表标记,以增强数据可视化效果。此外,还介绍了线类型(如实线 `'-'`、虚线 `':'` 等)、颜色类型(如红色 `'r'`、绿色 `'g'` 等)以及如何通过 `markersize` (`ms`)、`markerfacecolor` (`mfc`) 和 `markeredgecolor` (`mec`) 来调整标记的大小和颜色。通过一个示例展示了如何设置标记大小。
35 0
|
3月前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 5
使用 Matplotlib 的 `plot()` 方法通过 `marker` 参数来自定义图表标记,同时解释了如何利用 `fmt` 参数定义标记、线条样式及颜色,例如 'o:r' 分别表示实心圆标记、虚线及红色。并通过一个实例演示了其使用方法。
30 0
|
3月前
|
数据可视化 数据处理 Python
Matplotlib:Python绘图利器之王
Matplotlib:Python绘图利器之王
25 0
|
3月前
|
Python
Matplotlib 教程 之 Matplotlib 绘图标记 2
在 Matplotlib 中使用 `plot()` 方法的 `marker` 参数来自定义图表标记。通过不同符号如 `"o"`(实心圆)、`"v"`(下三角)等,可实现多样化的标记效果。示例展示了实心圆标记的使用方法,提供了多种标记符号供选择,包括几何形状和特殊符号。
69 0
|
4月前
|
Python
​16个matplotlib绘图实用小技巧
​16个matplotlib绘图实用小技巧