Python Pandas 数据可视化

发布时间 2024-01-08 21:22:14作者: leviliang

1、Pandas 的绘图功能

Pandas 内置的绘图功能进行数据可视化是一种快速且有效的方法,它主要依赖于 Matplotlib 库。Pandas 提供了多种绘图类型,适用于不同的数据分析和可视化需求。

1)折线图

使用plot()绘制拆线图,常用参数如下,

参数

描述

x

一维数组或列表,表示数据点的横坐标。

y

一维数组或列表,表示数据点的纵坐标。

color

指定线条颜色,可以是字符串颜色名或 RGB 颜色值。

linewidth

指定线条宽度。

linestyle

指定线条样式,例如 - (实线)、 -- (虚线)、 -. (点划线) 等。

marker

指定数据点标记形状,例如 o (圆)、 x (叉)、 * (星) 等。

markersize

指定数据点标记大小。

label

指定用于图例的标签。

2)绘制散点图

使用scatter()绘制散点图,常用参数如下,

参数

描述

x

一维数组或列表,表示数据点的横坐标。

y

一维数组或列表,表示数据点的纵坐标。

c

指定数据点颜色,可以是字符串颜色名、RGB 颜色值或一维数组。

s

指定数据点大小,可以是单个值或一维数组。

marker

指定数据点形状,例如 o (圆)、 x (叉)、 * (星) 等。

alpha

指定数据点透明度,取值范围为 0.0 (完全透明) 到 1.0 (完全不透明)。

edgecolors

指定数据点边缘颜色,可以是字符串颜色名、RGB 颜色值或一维数组。

linewidths

指定数据点边缘宽度,可以是单个值或一维数组。

3)绘制直方图

使用hist()绘制直方图,常用参数如下,

参数

描述

x

一维数组或列表,表示数据点。

bins

指定直方图的柱状图数量,默认为 10。

range

指定直方图的绘制范围,例如 (min_value, max_value)。

histtype

指定直方图的类型,例如 'bar' (柱状图)、 'step' (阶梯图) 等。

color

指定直方图柱状图的颜色,可以是字符串颜色名、RGB 颜色值或一维数组。

alpha

指定直方图柱状图的透明度,取值范围为 0.0 (完全透明) 到 1.0 (完全不透明)。

edgecolor

指定直方图柱状图边缘的颜色,可以是字符串颜色名、RGB 颜色值或一维数组。

linewidth

指定直方图柱状图边缘的宽度。

4)绘制条形图

使用hist()绘制条形图,常用参数如下,

参数

描述

x

x轴的标签或位置。

y

y轴的标签或位置。

figsize

图形大小(英寸),例如 (10, 5)。

color

各个条形的颜色。

title

图表的标题。

legend

布尔值,表示是否显示或隐藏图例。

stacked

布尔值,表示是否创建堆叠条形图。

width

条形的宽度(浮点数,通常介于0到1之间)。

align

条形的对齐方式('center' 或 'edge')。

rot

刻度的旋转角度(例如,45代表45度)。

grid

布尔值,表示是否显示或隐藏网格。

fontsize

刻度标签的字体大小。

edgecolor

条形边缘的颜色。

error_kw

错误条的关键字参数(字典形式)。

log

布尔值,表示是否将y轴设置为对数刻度。

5)绘制箱图

使用box()绘制箱图,常用参数如下,

参数

描述

column

要绘制的列的名称或名称列表。

by

用于分组的列的名称,用于创建分组箱线图。

ax

用于绘制图表的 Matplotlib 轴对象。

fontsize

轴标签的字体大小。

rot

轴标签的旋转度数。

grid

布尔值,指定是否显示网格线。

figsize

图表的大小(英寸),例如 (10, 5)。

layout

箱线图的布局,例如 (2, 3) 表示 2 行 3 列。

return_type

返回类型,可以是 'axes' 或 'dict'。

vert

布尔值,指定箱线图是垂直还是水平显示。

patch_artist

布尔值,指定是否用 Artist 来绘制箱体,可以更改箱体样式。

meanline

布尔值,指定是否显示均值线。

showmeans

布尔值,指定是否显示均值。

showcaps

布尔值,指定是否显示须(whisker)的上下顶帽(caps)。

whis

指定须(whisker)的范围,可以是数值或字符串,如 1.5 或 'range'。

6)使用示例

使用示例:Python Pandas 数据可视化-CJavaPy

参考文档:

Python Pandas 绘制图表

pandas.DataFrame.plot — pandas 2.1.4 documentation

pandas.DataFrame.plot.bar — pandas 2.1.4 documentation

pandas.DataFrame.hist — pandas 2.1.4 documentation

pandas.DataFrame.plot.scatter — pandas 2.1.4 documentation

pandas.DataFrame.plot.box — pandas 2.1.4 documentation

2、Pandas 与 Matplotlib 集成

Pandas 的数据可视化功能与 Matplotlib 和 Seaborn 等库紧密集成,提供了丰富的数据可视化选项。

1)Matplotlib

Pandas 绘图实际上是在 Matplotlib 的基础上构建的,因此可以轻松地使用 Matplotlib 的功能来自定义 Pandas 图表。

import pandas as pd
import matplotlib.pyplot as plt

data = {'Year': [2015, 2016, 2017, 2018, 2019],
        'Sales': [200, 300, 400, 500, 600]}
df = pd.DataFrame(data)

# 使用 Pandas 绘图
df.plot(x='Year', y='Sales', kind='line')
ax = df.plot()
# 使用 Matplotlib 定制图表
ax.set_title('title cjavapy')
ax.set_xlabel('Year')
ax.set_ylabel('Sales')
plt.show()

3、Pandas 与 Seaborn 集成

Seaborn 是一个基于 Matplotlib 的 Python 数据可视化库,提供了一种更高级别的接口,专门用于绘制统计图形。它与 Pandas 结合得非常好,可以直接使用 Pandas 的 DataFrame 进行绘图。它提供了一系列预定义的样式和主题,可以快速创建美观的图表。Seaborn 的图表风格比较现代,适合用于学术论文或商业报告等场合。

1)安装Seaborn

pip install Seaborn 

2)使用示例

参考文档:Python Pandas 数据可视化-CJavaPy