matplotlib#1:绘制折线图

matplotlib#1:绘制折线图,第1张

matplotlib#1:绘制折线图

文章目录
  • matplotlib基本要点
    • 例1:展示一天中每隔两个小时(range(2,26,2))的气温(℃)
    • 例2:matplotlib的绘制10点到12点的气温
    • 例3:比较自己和同桌20年间的差异,同时分析每年交女(男)朋友的数量走势
  • 对比常用统计图

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()

自定义绘制图形的风格:

添加图例:

对比常用统计图

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5658427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存