參考文章: https://fonttian.blog.csdn.net/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()
第一張圖例中文不能正常顯示,第二張正常顯示