大数据应用开发与实战(1)
一、Matplotlib 基础认知
功能特性:是 Python 强大的绘图库,能将数据以多样化的图表形式呈现,涵盖静态、动态和交互式图表,支持多种输出格式,满足不同场景下的数据可视化需求。
二Matplotlib Pyplott
- 函数绘图技巧:
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。针对这个数据,我们也可以通过柱形图来完成,这里使用水平柱形图来显示