import matplotlib.pyplot as plt
import random
# 加载 SimHei 字体
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决负号 '-' 显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False
#使用 random.uniform(15,18) 生成60个在15~18之间随机数,模拟温度数据。
x = range (60)
y_shanghai = [random.uniform(15,18) for i in x]
#第二个折线图数据。
y_beijing = [random.uniform(15,18) for i in x]
#设置图表大小为 20x8 英寸,分辨率 80 dpi。
plt.figure(figsize=(20,8),dpi= 80)
#绘制 x(时间)与 y_shanghai(温度)之间的折线图。
plt.plot(x,y_shanghai,label="上海")
#绘制北京的折线图
#x 和 y_beijing 是数据点的横纵坐标;color='red' 设置线条颜色为红色;linestyle='--' 设置线型为虚线;
# marker='o' 表示在数据点处显示圆形标记。
# label 表示图例的标签。
plt.plot(x,y_beijing,color='red', linestyle='--', marker='o',label='北京')
#设置图例位置
#0 best
#1 upper ight
#2 upper left
#3 lower left
#4 lower ringt
#5 right
#6 center left
#7 center right
#8 lower center
#9 upper center
#10 center
plt.legend(loc=3)
#设置 x 轴的刻度,并设置刻度标签。
x_ticks_label = {"11点{}分".format(i) for i in x}
y_ticks = range(40)
#设置 x 轴的刻度,并设置刻度标签。
# Python的切片语法,意思是从数组x中每隔5个元素选取一个。
plt.xticks(x[::5])
plt.yticks(y_ticks[::5])
# plt.grid(True):开启网格线显示
# linestyle='--':设置网格线为虚线样式
# alpha=0.5:设置网格线透明度为50%
plt.grid(True, linestyle='--', alpha=0.5)
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("上海温度变化", fontsize=20)
#调用 plt.show() 显示图表。
plt.show()
#设置图例位置
#0 best
#1 upper ight
#2 upper left
#3 lower left
#4 lower ringt
#5 right
#6 center left
#7 center right
#8 lower center
#9 upper center
#10 center
plt.legend(loc=3)
loc=?中不同的位置
plot中不同的参数
plt.plot(x,y_shanghai,label="上海")
plt.plot(x,y_beijing,color='red', linestyle='--', marker='o',label='北京')
#x 和 y_beijing 是数据点的横纵坐标;color='red' 设置线条颜色为红色;linestyle='--' 设置线型为虚线;
# marker='o' 表示在数据点处显示圆形标记。
# label 表示图例的标签。