参考文章: https://fonttian.blog.youkuaiyun.com/article/details/78107421
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
from mpl_toolkits.mplot3d import Axes3D
# 添加下面代码后绘图可正常显示中文,负号也可正常显示
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi'] # 此处设置为楷体, 也设置为其他字体
mpl.rcParams['font.serif'] = ['KaiTi']
mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题,或者转换负号为字符串
# plot
x = np.arange(0.05, 3, 0.05)
# 常函数
y1 = [ 5 for i in x]
plt.plot(x, y1, linewidth=2, label=r'常函数:y=5')
# 一次函数
y2 = [ 2*i + 1 for i in x]
plt.plot(x, y2, linewidth=2, label='一次函数:y=2x+1')
# 二次函数
y3 = [1.5*i**2 - 3*i + 1 for i in x]
plt.plot(x, y3, linewidth=2, label='二次函数: y=1.5*$x^2$-3x+1')
# 幂函数
y4 = [ math.pow(i, 2) for i in x]
plt.plot(x, y4, linewidth=2, label='幂函数:y=$x^2$')
# 指数函数
y5 = [ math.pow(2, i) for i in x]
plt.plot(x, y5, linewidth=2, label='指数函数:y=$2^x$')
# 对数函数
y6 = [ math.log(i, 2) for i in x]
plt.plot(x, y6, linewidth=2, label='对数函数:y=log2(x)')
plt.legend(loc='lower right')
plt.grid(True)
plt.show()
第一张图例中文不能正常显示,第二张正常显示