散点图:
绘制方法和折线图一样,不同之处在于绘图方法使用的是plt.scatter()
在同一张图中绘制多个数据的散点图时,只需要让每个数据对应不同的下标就行了。
实例如下:
import random
from matplotlib import pyplot as plt
import matplotlib
font = {‘family’: ‘STKAITI’,
‘weight’: ‘bold’,
‘size’: 12}
matplotlib.rc(“font”, **font)
#得到x、y轴座标
y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6]
print(len(y_3), len(y_10))
x_3 = list(range(1, 32))
x_10 = list(range(41, 72))
##绘制刻度对应的文字
x_id = x_3[::3]+x_10[::3]
x_label_3 = [“3月{}日”.format(i) for i in x_3]
x_label_10 = [“10月{}日”.format(i) for i in x_3]
x_label = x_label_3[::3] + x_label_10[::3]
plt.xticks(x_id, x_label, rotation=45)
y_label = list(range(min(*y_3, *y_10), max(*y_3, *y_10)+1))
plt.yticks(y_label)
#图像描述信息
plt.xlabel(“日期”)
plt.ylabel(“温度 (单位 ℃)”)
plt.title(“气温变化”)
#绘图
plt.scatter(x_3, y_3, label=“3月”, color=“orange”, linewidths=1)
plt.scatter(x_10, y_10, label=“10月”, color=“blue”, linewidths=1)
plt.legend()
#加网格线
plt.grid()
plt.show()