使用的是python matplotlib库中的pyplot 先从最基础的来: (1)绘制连续和离散的函数:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(1, 10, 20) y1 = x ** 2 + 1 y2 = x plt.figure() plt.plot(x, y1) # 画线 plt.scatter(x, y2) # 画点 plt.show()(2)进阶,在坐标系中画出点线结合:
import matplotlib.pyplot as plt import numpy as np x = np.linspace(1, 10, 20) y = x ** 2 + 1 plt.figure() plt.plot(x, y,color='blue',linestyle='--',marker='o',linewidth=1,label='blue_line') # 参数1:横轴坐标 # 参数2:纵轴坐标 # 参数3:分为三部分,颜色:r:red g:green b:blue c:蓝绿, # 点形状:o . v # 线:- -- -o # 参数4:线宽 # 参数5:线标识 plt.legend() plt.show()(3)为二维点标上序号,形成轨迹
import matplotlib.pyplot as plt import numpy as np List = [] i = 0 # 生成随机横纵坐标 x1 = np.random.randint(0, 100, 20) y1 = np.random.randint(0, 100, 20) num = x1.size n = np.arange(num) while i < num: List.append([x1[i], y1[i]]) i = i + 1 List = np.array(List) # 这句不能少 fig, ax = plt.subplots() ax.plot(List[:, 0], List[:, 1], c='r') # 为点标上序号 for i, txt in enumerate(n): ax.annotate(txt, (List[i][0], List[i][1])) plt.show()(4)控制坐标范围
plt.xlim(x1,x2) plt.ylim(y1,y2)(5) 设置刻度
plt.xticks() plt.yticks()