当前位置: 首页 > news >正文

大数据应用开发与实战(1)

一、Matplotlib 基础认知

功能特性:是 Python 强大的绘图库,能将数据以多样化的图表形式呈现,涵盖静态、动态和交互式图表,支持多种输出格式,满足不同场景下的数据可视化需求。

二Matplotlib Pyplott

  1. 函数绘图技巧:

plot()函数用于绘制点和线,通过灵活设置参数可定制图形样式。如x和y确定数据点位置,fmt设定基本格式(含颜色、标记、线条样式),**kwargs用于设置额外属性(像标签、线宽)。可以绘制规则或不规则的线,若不指定x轴数据,x会依据y值自动设为0, 1, 2...N - 1。

(1)绘制坐标 (1, 3) 到 (8, 10) 的线

(2)绘制坐标 (1, 3) 和 (8, 10) 的两个点

(3)绘制一条不规则线,坐标为 (1, 3)、(2, 8)、(6, 1)、(8, 10)

    (4) 如果我们不指定 x 轴上的点,则 x 会根据 y 的值来设置为 0, 1, 2, 3..N-1

    练习:在同一张图中分别绘制正弦图和余弦图

    2.多元图表绘制方法

    散点图:运用scatter()函数绘制,可通过s参数调整图标大小,c参数自定义点的颜色,还能同时绘制两组散点图进行对比分析。

    柱形图:bar()绘制水平柱形图,barh()绘制垂直柱形图。能设置柱形颜色,既可以统一设置,也能为各个柱形单独指定颜色,还可利用width(bar()函数)或height(barh()函数)参数调整柱形宽度。

    饼图:使用pie()函数绘制,可设置labels添加标签、colors指定颜色、explode突出特定部分、autopct格式化百分比显示,使数据占比情况一目了然。

    直方图:hist()函数用于绘制直方图,可设置x指定数据、bins确定箱数、color设定颜色、label添加标签。支持绘制单组或多组数据的直方图,并且能与 Pandas 结合,基于 DataFrame 或 Series 对象进行绘制 。

    三、Matplotlib 绘图标记

    绘图标记与线条定制:plot()函数的marker参数定义标记样式,fmt参数综合设置标记、线条样式和颜色,同时还能借助markersize(ms)、markerfacecolor(mfc)、markeredgecolor(mec)分别调整标记大小、内部颜色、边框颜色;利用linestyle(ls)、color(c)、linewidth(lw)设置线条类型、颜色、宽度。

    1.(1) plot()中的 marker 参数:定义一些不一样的标记。

    (2)mt 参数定义了基本格式,如标记、线条样式和颜色 fmt = '[marker][line][color]'

      (3)设置标记大小与颜色:

      参数名字

      简写

      作用

      markersize

      ms

      定义标记的大小。

      markerfacecolor

      mfc

      定义标记内部的颜色。

      markeredgecolor

      mec

      定义标记边框的颜色。

      大小:

      外框颜色:

      内部颜色:

        2.线的类型可以使用 linestyle 参数(可简写为 ls)定义

        类型

        简写

        说明

        'solid' (默认)

        '-'

        实线

        'dotted'

        ':'

        点虚线

        'dashed'

        '--'

        破折线

        'dashdot'

        '-.'

        点划线

        'None'

        '' 或 ' '

        不画线

        3.线的颜色可以使用 color 参数(可简写为 c)定义:

        颜色标记

        描述

        'r'

        红色

        'g'

        绿色

        'b'

        蓝色

        'c'

        青色

        'm'

        品红

        'y'

        黄色

        'k'

        黑色

        'w'

        白色

          4.轴标签、标题与网格线设置:

          xlabel()和ylabel()分别用于设置x轴和y轴标签,title()添加图表标题

            5.网格线

            grid()函数用于添加网格线,可通过参数设置显示与否、网格线类型、显示方向和样式。

            b

            可选,默认为 None,可以设置布尔值,true 为显示网格线,false 为不显示。

            which

            可选,可选值有 'major'、'minor' 和 'both',默认为 'major',表示应用更改的网格线。

            axis

            可选,设置显示哪个方向的网格线,可以是取 'both','x' 或 'y',分别表示两个方向,x 轴方向或 y 轴方向。

            **kwargs

            可选,设置网格样式,可以是 color='r', linestyle='-' 和 linewidth=2,分别表示网格线的颜色,样式和宽度。

            6.多图绘制布局:subplot()函数可在同一图中绘制多个子图,通过指定nrows(行数)、ncols(列数)、index(索引)确定子图位置,实现多组数据的集中展示。

                7.散点图

                scatter():绘制散点图

                  8.柱状图

                  (1)bar():绘制柱形图

                  自定义各个柱形的颜色:

                  (2)使用 width 设置柱形图宽度

                  (3)barh():绘制垂直方向的柱形图

                   使用 height 设置柱形图宽度

                  课堂练习:很多人在买一本书的时候,都比较喜欢货比三家,例如《python数据分析实战》在亚马逊、当当网、中国图书网、京东和天猫的最低价格分别为39.5、39.9、45.4、38.9、33.34。针对这个数据,我们也可以通过柱形图来完成,这里使用水平柱形图来显示

                  http://www.xdnf.cn/news/202555.html

                  相关文章:

                1. Git技巧:Git Hook,自动触发,含实战分享
                2. 【C到Java的深度跃迁:从指针到对象,从过程到生态】第四模块·Java特性专精 —— 第十六章 多线程:从pthread到JMM的升维
                3. Atcoder Help 有关Atcoder 的介绍-1 涨分规则
                4. 嵌入式开发学习日志Day11
                5. GESP2024年9月认证C++八级( 第二部分判断题(6-10))
                6. 在Linux系统中安装Anaconda的完整指南
                7. (001)Excel 快捷键
                8. 【RabbitMQ消息队列】(二)交换机模式详解
                9. MTKAndroid12-13-开机应用自启功能实现
                10. 【差分隐私】目标扰动机制(Objective Perturbation)
                11. Android平台Unity引擎的Mono JIT机制分析
                12. 前端如何使用Mock模拟数据实现前后端并行开发,提升项目整体效率
                13. 计算机视觉进化论:YOLOv12、YOLOv11与Darknet系YOLOv7的微调实战对比
                14. 单片机-89C51部分:7、中断
                15. ZYNQ-自定义呼吸灯IP核以及PS-PL数据发送接收
                16. 【Java学习笔记】传参机制
                17. Vue 2 中 Vue 实例对象(vm)的所有核心方法,包含完整示例、使用说明及对比表格
                18. 【Java】 使用 HTTP 响应状态码定义web系统返回码
                19. 继承(c++版 非常详细版)
                20. linux 环境下 c++ 程序打印 core dump 信息
                21. 滑动窗口模板
                22. 【基础知识】常见的计算公式(一)
                23. java借助NIO、链表、跳表模拟实现redis
                24. CDGP|如何建立高效的数据治理团队?
                25. 【强化学习系列】贝尔曼方程
                26. mysql模糊多次OR查询某一个字段,针对这个字段进行查询分组
                27. Marin说PCB之----板材的替换注意事项
                28. vite创建vue3项目并进行配置
                29. DIFY教程第三弹:构建一个智能生成图片的Agent
                30. 【分布式系统中的“瑞士军刀”_ Zookeeper】三、Zookeeper 在实际项目中的应用场景与案例分析