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=(16, 8), dpi=80)
# 设置x轴的刻度,步长决定x轴的密集程度,也可以用列表推导式(涉及到小数的时候就要用列表了)
plt.xticks(range(2, 26, 2)) # 等同于:[x for x in range(2, 26, 2)]
plt.yticks(range(min(y), max(y)+1)) # 设置y轴的刻度,这样设置比较合适
plt.plot(x, y) # 绘图
plt.savefig('./t1.png') # 保存
plt.show() # 展示图形
import random
from matplotlib import pyplot as plt
import matplotlib
# windows和linux可以这样让其支持中文
font = {
'family': 'MicroSoft YaHei',
'weight': 'bold',
}
matplotlib.rc('font', **font)
# 如果列表a表示10点到12点的每一分钟的气温,绘制折线图观察每分钟气温的变化
# a = [random.randint(20, 35) for i in range(120)]
x = range(120)
y = [random.randint(20, 35) for i in range(120)]
plt.figure(figsize=(20, 8), dpi=80) # 设置图片大小
# 调整x轴的刻度
_xtick_label = ['10点{}分'.format(i) for i in range(60)]
_xtick_label += ['11点{}分'.format(i) for i in range(60)]
# 取步长,数字和字符串一一对应,数据的长度一样,原先第一个参数对应的数字变为第二个参数的字符串,rotation使字符串旋转90度
plt.xticks(list(x)[::5], _xtick_label[::5], rotation=45) # 转化为列表,列表可以取步长,两个参数的长度必须一致
# 添加描述信息
plt.xlabel('时间')
plt.ylabel('温度/单位(摄氏度)')
plt.title('10点到12点每分钟气温的变化情况')
plt.plot(x, y)
plt.show()