一、常用模块导入
import numpy as np
import matplotlib
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
from mpl_toolkits.mplot3d import Axes3D
二、解决显示异常问题
中文乱码
myfont = fm.FontProperties(fname="字体文件路径")
负号显示为方块
matplotlib.rcParams['axes.unicode_minus']=False
三、折线图
生成数据
x = np.linspace(-np.pi, np.pi, 256, endpoint=True) # 从-π到π 等间隔取256个点
y_cos, y_sin = np.cos(x), np.sin(x) # 对应x的cos与sin值
初始化画布
plt.figure(figsize=(8, 6), dpi=80) # figsize定义画布大小,dpi定义画布分辨率
plt.title("简单折线图", fontproperties=myfont) # 设定标题,中文需要指定字体
plt.grid(True) # 是否显示网格
设置坐标轴
# 设置X轴
plt.xlabel("X轴", fontproperties=myfont) # 轴标签
plt.xlim(-4.0, 4.0) # 轴范围
plt.xticks(np.linspace(-4, 4, 9, endpoint=True)) # 轴刻度
# 设置Y轴
plt.ylabel("Y轴", fontproperties=myfont)
plt.ylim(-1.0, 1.0)
plt.yticks(np.linspace(-1, 1, 9, endpoint=True))
绘制数据
线类型有几种:"g+-", "r*-", "b.-", "yo-",第一个字代表颜色,第二个字符代表节点样式,第三个字符代表连线样式
plt.plot(x, y_cos, "b--", linewidth=2.0, label="cos示例") # 前两个参数是坐标值,第三个参数为线类型,linewidth为线宽,label为图例文字
plt.plot(x, y_sin, "g-", linewidth=2.0, label="sin示例")
设置图例
plt.legend(loc="upper left", prop=myfont, shadow=True) # loc可以是upper、lower和left, right, center的组合
图形显示
plt.show()
面积图
plt.fill_between(x, -1, y_sin, where=True, color="blue", alpha=0.25)
plt.show()
三维折线图
# 生成测试数据
x = np.linspace(0, 1, 1000)
y = np.linspace(0, 1, 1000)
z = np.sin(x *