首页技术文章正文

【广州Python】Matplotlib绘制折线图【黑马python培训】

更新时间:2019年08月01日 19时27分41秒 来源:黑马程序员论坛

黑马中级程序员课程

折线图(plot)
  • 基本使用
    • import matplotlib.pyplot as plt  # 导包
    • plt.figure()  # 1)创建画布(容器层)
    • plt.plot([1, 2, 3, 4, 5, 6 ,7], [17, 17, 18, 15, 11, 11, 13])  # 2)绘制折线图(图像层)
    • plt.show()  # 3)显示图像


  • 设置画布属性与图片保存
    • plt.figure(figsize=(), dpi=)  # 返回fig对象
      • figsize:指定图的长宽
      • dpi:图像的清晰度
    • plt.savefig(path)
      • path:图片存储的路径
    • 注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。


  • 常用设置
    • 自定义x、y刻度
      • plt.xticks(x, **kwargs)
        • x:要显示的刻度值
      • plt.yticks(y, **kwargs)
        • y:要显示的刻度值
    • 添加网格显示
      • plt.grid(True, linestyle='--', alpha=0.5)
        • linestyle:网格线的形状
        • alpha:透明度
    • 添加描述信息
      • plt.xlabel("时间")   # x轴
      • plt.ylabel("温度")   # y轴
      • plt.title("中午11点0分到12点之间的温度变化图示")   # 标题
    • 显示图例
      • plt.plot(x, y_beijing, color='r', linestyle='--', label="北京")  # 绘制图像
        • x:x轴坐标
        • y_beijing: y轴坐标
        • color:折线图颜色
        • linestyle: 线性
        • label:图例
      • 常见的color和linestyle
        • 颜色字符        风格字符
        • r 红色        - 实线
        • g 绿色        - - 虚线
        • b 蓝色        -. 点划线
        • w 白色        : 点虚线
        • c 青色        ' ' 留空、空格
        • m 洋红
        • y 黄色
        • k 黑色
      • 注意:如果只在plt.plot()中设置label还不能最终显示出图例,还需要通过plt.legend()将图例显示出来
        • plt.legend(loc="best")
          • loc:图例显示的位置


  • 多个坐标系显示-plt.subplots(面向对象的画图方法)
    • plt.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
      • 参数说明
        • nrows、ncols: 整型,可选参数,默认为1。表示子图网格(grid)的行数与列数。
        • sharex、sharey:布尔值或者{'none','all','row','col'},默认:False,  控制x(sharex)或y(sharey)轴之间的属性共享。
          • True或者'all':x或y轴属性将在所有子图(subplots)中共享。
          • False或'none':每个子图的x或y轴都是独立的部分。
          • 'row':每个子图在一个x或y轴共享行(row)。
          • 'col':每个子图在一个x或y轴共享列(column)。
          • 注意: 当子图在x轴有一个共享列时('col'),只有底部子图的x tick标记是可视的。同理,当子图在y轴有一个共享行时('row'),只有第一列子图的y tick标记是可视的。
        • squeeze:布尔类型,可选参数,默认:True。
          • 如果是True,额外的维度从返回的Axes(轴)对象中挤出。
          • 如果只有一个子图被构建(nrows=ncols=1),结果是单个Axes对象作为标量被返回。
          • 对于N*1或1*N个子图,返回一个1维数组。
          • 对于N*M,N>1和M>1返回一个2维数组。
        • subplot_kw:字典类型,可选参数。把字典的关键字传递给add_subplot()来创建每个子图。
        • gridspec_kw:字典类型,可选参数。把字典的关键字传递给GridSpec构造函数创建子图放在网格里(grid)。
        • **fig_kw:把所有详细的关键字参数传给figure()函数
      • 返回结果:
        • fig:matplotlib.figure.Figure对象。
        • ax:Axes(轴)对象或Axes(轴)对象数组。
      • 常用方法:
        • set_xticks、 set_yticks: 设置x、y轴刻度
        • set_xlabel、set_ylabel: 设置x、y轴标题
        • set_title: 设置9图标题
        • 注意:plt.函数名()相当于面向过程的画图方法,axes.set_方法名()相当于面向对象的画图方法。


  • 折线图应用场景


  • 呈现公司产品(不同区域)每天活跃用户数。
  • 呈现app每天下载数量。
  • 呈现产品新功能上线后,用户点击次数随时间的变化。
  • 拓展:画各种数学函数图像,plt.plot()除了可以画折线图,也可以用于画各种数学函数图像,配合numpy模块实现。


推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 产品经理培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程【点击播放】

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!