Python 折线图matplotlib

折线图作业要求:

1.以下是长沙某一个月的天气数据,按照时间的顺序绘制成折线图,其中数据highest是最高温度,lowest是最低温度。最高温度线条用红色,最低温度线条用蓝色。

2.具体的坐标点,用圆点marker表示。

3.把x轴的时间刻度按照1-31标记出来,并且标记x轴和y轴的标题。

4.图的标题是“长沙5月份气温走势”。

5.数据:

highest = [26,21,26,26,22,20,17,19,22,28,30,28,24,28,25,26,25,26,25,23,24,30,32,31,30,27,26,27,29,25,25]

lowest = [17,13,17,18,18,17,14,15,16,18,19,20,18,18,20,20,20,20,20,16,17,19,21,24,24,23,20,18,19,18,19]

from matplotlib import pyplot as plt
from matplotlib import font_manager

# 设置中文字体
my_font = font_manager.FontProperties(fname="C:\\Windows\\Fonts\\msyh.ttc")

# 指定x轴 从那里开始,到那里结束,步长是多少 x的个数和y的个数要一致,才能形成相同数量个点
x = range(1, 32)
# 这里的数字个数和x轴是一样的
y_h = [26,21,26,26,22,20,17,19,22,28,30,28,24,28,25,26,25,26,25,23,24,30,32,31,30,27,26,27,29,25,25]
y_l = [17,13,17,18,18,17,14,15,16,18,19,20,18,18,20,20,20,20,20,16,17,19,21,24,24,23,20,18,19,18,19]
# 设置图片大小
plt.figure(figsize=(20, 8), dpi=80)

# 绘图
plt.plot(x, y_h,'r',x,y_l,'b',marker='.')


# 刻度变稀疏
_xtick = list(x)
# 设置刻度, 还可以使用_xtick[::1]调整步长, rotation设置旋转0度放置重叠
plt.xticks(_xtick[::1], rotation=0, fontproperties=my_font)
# 设置y轴刻度
plt.yticks(_xtick[9:35:5], rotation=0, fontproperties=my_font)

# 设置X轴标签
plt.xlabel("日期(天)", fontproperties=my_font)
# 设置y轴标签
plt.ylabel("温度(℃)", fontproperties=my_font)
# 设置图形标题
plt.title("长沙5月份气温走势", fontproperties=my_font)

# 保存图片,可要可不要
#plt.savefig("./plot_01.png")
plt.grid(True, linestyle='-', alpha=0.5) #显示格子
#下面标注数值
for x,y in zip(x,y_h):
    plt.text(x,y+0.4,'%.0f' % y,fontdict={'fontsize':10})
x = range(1, 32)  #这里x被遍历过一次后,要再输入一次
for x,y in zip(x,y_l):
    plt.text(x,y+0.4,'%.0f' % y,fontdict={'fontsize':10})
# 显示图形
plt.show()

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值