使用matplotlib画统计图

上个礼拜想统计下b站实时人数,就写了个爬虫每分钟爬一次在线人数并记录在一个txt中,前两天想把数据可视化一下。

刚开始想用pandas模块,传入一个二维数组即可绘制图形。但我发现他真的只能画一张单折线图,不太符合我的需求,故舍弃,转用他的底层——matplotlib

记录一下一些常用函数

  • fig = plt.figure(figsize=(x,y))
    创建一个窗口,返回值是窗口变量
  • ax1 = fig.add_subplot(x,y,z)
    在窗口中创建画布区域,x为几行,y为几列,z为按顺序排下来第几张图
  • l1, = ax1.plot(x_list, y_list, ls='-.', color='red')
    在这个画布中按两个列表画一张折线图,并规定折线样式与颜色(若不知道有哪些样式可选,瞎打一点然后报错信息里会告诉你)。l1后若不加逗号则无法使用图例函数
  • ax1.set_xlabel(), ax1.set_ylabel()
    设定坐标轴图例
  • ax1.set_title()
    设定图表标题
  • ax2 = ax1.twinx()
    产生一个和ax1具有相同横坐标的ax2,它的纵坐标在图表右侧
  • l3 = plt.bar(x_list, y_list)
    绘制一个柱状图
  • plt.legend([l1, l2], ['legend1', 'legend2'], loc='best', fontsize=16)
    显示图例,loc是位置选项,best为程序自动选择,还有多个位置可手动选择,fontsize是字体大小,之前所有有关文本标签的函数中都可添加使用

代码

数据(每天自动更新)

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注