基本绘图
参考1:https://www.jianshu.com/p/78ba36dddad8
(这个里面基础知识也都写的挺好的)
基本绘图步骤如下:
import matplotlib.pyplot as plt
import numpy as np
# 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英寸
plt.figure(figsize=(8, 6), dpi=80)
# 再创建一个规格为 1 x 1 的子图
plt.subplot(111)
x = np.linspace(-2, 6, 50)
y1 = x + 3 # 曲线 y1
y2 = 3 - x # 曲线 y2
# 绘制颜色为蓝色、宽度为 1 像素的连续曲线 y1
# "label"方便之后添加图例
plt.plot(x, y1, color="blue", linewidth=1.0, linestyle="-",label="y1")
# 绘制颜色为紫色、宽度为 2 像素的不连续曲线 y2
plt.plot(x, y2, color="#800080", linewidth=2.0, linestyle="--",label="y")
plt.show()
更多线型、颜色可见这个博客
其他设置的方法如下:
# 设置轴的上下限
plt.xlim(-1, 6)
plt.ylim(-2, 10)
# 设置轴的标签
plt.xlabel("X")
plt.ylabel("Y")
# 设置轴的精准刻度
plt.xticks([-1, 0, 1, 2, 3, 4, 5, 6],
["-1m", "0m", "1m", "2m", "3m", "4m", "5m", "6m"])
plt.yticks([-2, 0, 2, 4, 6, 8, 10],
["-2m", "0m", "2m", "4m", "6m", "8m", "10m"])
#添加图例(其他loc可选值详见参考1)
plt.legend(loc='upper left')
plt.show()
以下是利用scatter()
和annotate()
函数,对特殊点标注;
进一步还可以利用text()
函数添加文本:
# 绘制散点(3, 6)
plt.scatter([3], [6], s=30, color="blue") # s 为点的 size
# 对(3, 6)做标注
plt.annotate("(3, 6)",
xy=(3.3, 5.5), # 在(3.3, 5.5)上做标注
fontsize=16, # 设置字体大小为 16
xycoords='data') # xycoords='data' 是说基于数据的值来选位置
# 绘制散点(3, 0)
plt.scatter([3], [0], s=50, color="#800080")
# 对(3, 0)做标注
plt.annotate("(3, 0)",
xy=(3.3, 0))
plt.text(4, -0.5, "this point very important",
fontdict={'size': 12, 'color': 'green'}) # fontdict设置文本字体
效果如下: