matplotlib#1:绘制折线图

本文介绍了matplotlib库在Python中的使用,展示了如何绘制折线图以表示一天中不同时间的气温变化,如何自定义X轴刻度并添加中文描述,以及如何比较两个数据系列的变化趋势,例如个人与同桌多年间交朋友数量的对比。此外,还涉及了网格线的添加、图像风格的定制以及图例的创建,是数据可视化的实用教程。
摘要由CSDN通过智能技术生成

matplotlib基本要点

在这里插入图片描述
每个红色的点是坐标,把5个点的坐标连接成一条线,组成了一个折线图

例1:展示一天中每隔两个小时(range(2,26,2))的气温(℃)

from matplotlib import pyplot as plt #导入pyplot
#设置图片大小
plt.figure(figsize=(20,10),dpi=80)

x=range(2,26,2)
y=[15,13,14.5,17,20,25,26,26,27,22,18,15]
#绘图
plt.plot(x,y)  #传入x,y,通过plot绘制曲线图

#绘制x轴刻度
_xtick_labels=[i/2 for i in range(4,49)]
plt.xticks(_xtick_labels)
plt.yticks(range(min(y),max(y)+1))

#保存
plt.savefig("./test1")
#展示图形
plt.show()

调整X轴或Y轴刻度:
在这里插入图片描述

例2:matplotlib的绘制10点到12点的气温

from matplotlib import pyplot as plt
import random
import matplotlib
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")

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.xlabel("时间",fontproperties=my_font)
plt.ylabel("摄氏度",fontproperties=my_font)
plt.title("10-12点每分钟温度变化情况",fontproperties=my_font)

#取步长,数据和字符串一一对应,保持数据长度一致
plt.xticks(x[::3],_xtick_labels[::3],rotation=270,fontproperties=my_font)  #旋转270
plt.show()

调整X或者Y轴上的刻度:
在这里插入图片描述
设置中文显示:
在这里插入图片描述
给图像添加描述信息:
在这里插入图片描述

例3:比较自己和同桌20年间的差异,同时分析每年交女(男)朋友的数量走势

#coding-utf-8

from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font = font_manager.FontProperties(fname="C:/Windows/Fonts/simhei.ttf")
x=range(11,31)
y1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1]
y2 = [1,0,3,1,2,2,3,3,2,1,2,1,1,1,1,1,1,1,1,1]


#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
plt.plot(x,y1,label="自己",color="gold",linewidth=6)
plt.plot(x,y2,label="同桌",color="purple",linewidth=6)
#绘制x轴刻度
_xtick_labels=["{}岁".format(i) for i in x]
plt.xticks(x,_xtick_labels,fontproperties=my_font)
plt.yticks(range(0,9))

#绘制网格
plt.grid(alpha=0.4,linestyle='--')

#添加描述信息
plt.xlabel("年龄",fontproperties=my_font)
plt.ylabel("女朋友数量",fontproperties=my_font)
plt.title("11岁到30岁每年交的女(男)朋友的数量",fontproperties=my_font)

#添加图例
plt.legend(prop=my_font,loc=0)

#展示
plt.show()

自定义绘制图形的风格:
在这里插入图片描述
添加图例:
在这里插入图片描述

对比常用统计图

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值