from matplotlib import pyplot as plt
x = range(2, 26, 2)
y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]
# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80) # 20表示宽,8表示高,dpi是像素,越高越清晰
# 绘图
plt.plot(x, y)
# 绘制x轴的刻度,不让matplotlib自动生成x轴刻度,注意range的步长不能为小数
# _xtick_labels = [i/2 for i in range(4, 49)] # 传入小数的方法
# plt.xticks(_xtick_labels[::3]) # 设置步长为3
plt.xticks(range(2, 25))
# y轴的刻度
plt.yticks(range(min(y), max(y)+1))
# 保存
plt.savefig('./sig_size.png')
# 展示图形
plt.show()
2. 绘制每分钟气温图,相对1增加更多的描述信息
显示中文的方法
列表推导式快速生成一个列表,并使用format方法指定刻度
坐标轴标签设置步长,旋转角度
给背景设置网格,并设置透明度等参数
给坐标轴命名,设置图的标题等
from matplotlib import pyplot as plt
import random
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 显示中文
x = range(0, 120)
y = [random.randint(20, 35) for i in range(120)]
plt.figure(figsize=(20, 8), dpi=80)
plt.plot(x, y)
# 调整x轴刻度
_xtick_labels = ["10点{}分".format(i) for i in range(60)]
_xtick_labels += ["11点{}分".format(i) for i in range(60)]
# 使字符串不要太密集
plt.xticks(list(x)[::3], _xtick_labels[::3], rotation=45)
# 绘制网格,alpha是网格透明度,网格的线的疏密程度是根据坐标轴来的
plt.grid(alpha=0.4)
# 描述信息
plt.xlabel('时间')
plt.ylabel("温度 单位(℃)")
plt.title('气温情况图')
plt.show()