Python Pandas 数据可视化
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)使用示例
使用示例:
参考文档:
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)使用示例
参考文档: