pandas库中数据结构DataFrame的绘制函数

2024-05-30 03:48

本文主要是介绍pandas库中数据结构DataFrame的绘制函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用Canopy进行数据分析时,我们会用到pandas库,通过它我们可以灵活的对数据进行处理、转换和绘图等操作。其中非常重要的数据结构就是DataFrame。
本文主要整理一下对DataFrame对象进行plot操作的使用说明。

函数名称:
pandas.DataFrame.plot

函数参数列表及缺省值:
DataFrame.plot(data, x=None, y=None, kind=’line’, ax=None, subplots=False, sharex=True, sharey=False, layout=None, figsize=None, use_index=True, title=None, grid=None, legend=True, style=None, logx=False, logy=False, loglog=False, xticks=None, yticks=None, xlim=None, ylim=None, rot=None, fontsize=None, colormap=None, table=False, yerr=None, xerr=None, secondary_y=False, sort_columns=False, **kwds)

Make plots of DataFrame using matplotlib / pylab.

相关参数说明:

Parameters :

data : DataFrame

# 需要绘制的数据对象

x : label or position, default None

# x轴的标签值,缺省值是 None   

y : label or position, default None

Allows plotting of one column versus another

# y轴的标签值,缺省值是 None

kind : str

‘line’ : line plot (default)

‘bar’ : vertical bar plot

‘barh’ : horizontal bar plot

‘hist’ : histogram

‘box’ : boxplot

‘kde’ : Kernel Density Estimation plot

‘density’ : same as ‘kde’

‘area’ : area plot

‘pie’ : pie plot

‘scatter’ : scatter plot

‘hexbin’ : hexbin plot

# 标识绘制方式的字符串,缺省值是 ‘line’ 

ax : matplotlib axes object, default None

# 当使用到subplots绘图时,会得到包含子图对象的参数,

    再完善子图内容时需要指定该参数,缺省值是 None [可参照后面示例1]

subplots : boolean, default False

Make separate subplots for each column

# 所绘制对象数据 data 是否需要分成不同的子图, 缺省值是 False  [可参照后面示例2]

sharex : boolean, default True

In case subplots=True, share x axis

# 当参数subplots 为 True时,该值表示各子图是否共享x轴标签值,缺省值是 True

sharey : boolean, default False

In case subplots=True, share y axis

# 当参数subplots 为 True时,该值表示各子图是否共享x轴标签值,缺省值为 True

layout : tuple (optional)

(rows, columns) for the layout of subplots

figsize : a tuple (width, height) in inches

use_index : boolean, default True

Use index as ticks for x axis

title : string

# 图的标题

Title to use for the plot

grid : boolean, default None (matlab style default)

Axis grid lines

# 是否需要显示网格,缺省值是 None[需要留意的是,在Canopy中默认是显示网格的]

legend : False/True/’reverse’

Place legend on axis subplots

# 添加子图的图例,缺省值是True

style : list or dict

matplotlib line style per column

# 设置绘制线条格式,仅当参数kind 设置为 ‘line’ [可参照后面示例3]

logx : boolean, default False

Use log scaling on x axis

# 将x轴设置成对数坐标,缺省值是False

logy : boolean, default False

Use log scaling on y axis

# 将y轴设置成对数坐标,缺省值是False

loglog : boolean, default False

Use log scaling on both x and y axes

# 将x轴、y轴都设置成对数坐标,缺省值是False

xticks : sequence

Values to use for the xticks

# 指定 x轴标签的取值范围(或步长)

yticks : sequence

Values to use for the yticks

# 指定 y轴标签的取值范围(或步长)

xlim : 2-tuple/list

ylim : 2-tuple/list

rot : int, default None

Rotation for ticks (xticks for vertical,

yticks for horizontal plots)

fontsize : int, default None

Font size for xticks and yticks

# 字体大小,缺省值是 None

colormap : str or matplotlib colormap object,

default None

Colormap to select colors from. If string,

load colormap with that name from matplotlib.

# 指定具体颜色取值或对应对象名称,缺省值是 None

colorbar : boolean, optional

If True, plot colorbar (only relevant for

‘scatter’ and ‘hexbin’ plots)

# 是否显示颜色条,如果设为 True,则仅当参数kind 设置为 ‘scatter’、 ‘hexbin’时有效

position : float

Specify relative alignments for bar plot layout.

From 0 (left/bottom-end) to 1 (right/top-end).

Default is 0.5 (center)

layout : tuple (optional)

(rows, columns) for the layout of the plot

table : boolean, Series or DataFrame, default False

If True, draw a table using the data in the

DataFrame and the data will be transposed to meet

matplotlib’s default layout. If a Series or

DataFrame is passed, use passed data to draw a table.

yerr : DataFrame, Series, array-like, dict and str

See Plotting with Error Bars for detail.

xerr : same types as yerr.

stacked : boolean, default False in line and

bar plots, and True in area plot.

If True, create stacked plot.

# 参数kind 设置为 ‘line’、’bar’时,该值默认为False,

# 参数 kind 设置为’area’时,该值默认为True

# 当该参数设置为True时,生成对应的堆积图

sort_columns : boolean, default False

Sort column names to determine plot ordering

secondary_y : boolean or sequence, default False

Whether to plot on the secondary y-axis If a list/tuple,

which columns to plot on secondary y-axis

mark_right : boolean, default True

When using a secondary_y axis, automatically mark the

column labels with “(right)” in the legend

kwds : keywords

Options to pass to matplotlib plotting method

Returns :      axes : matplotlib.AxesSubplot or np.array of them

示例:

示例1:

参照《Python 数据分析(三)[MAC]》中第7个分析任务—男孩女孩名字中各个末字母的比例

1 <pre>### 7. count the sum of each last letter of names of diferent 'sex' in each year
2 get_last_letter = lambda x: x[-1]
3 last_letters = names.name.map(get_last_letter)
4 last_letters.name = 'last_letter'
5 table = names.pivot_table('births', rows=last_letters, cols=['sex''year'], aggfunc=sum)
6 subtable = table.reindex(columns=[191019602010], level='year')
7 letter_prop = subtable / subtable.sum().astype(float)
8 import matplotlib.pyplot as plt
9 fig, axes = plt.subplots(21, figsize=(108))
10 letter_prop['M'].plot(kind='bar', rot=0, ax=axes[0], title='Male')
11 letter_prop['F'].plot(kind='bar', rot=0, ax=axes[1], title='Female', legend=False)

说明:
先调用plt(matplotlib.pyplot)绘制两个空白子图,再通过对应数据对象(letter_prop[‘M’]、letter_prop[‘F’])依次绘制不同的子图,这时调用plot函数时就需要设置ax参数,让其指定到待显示的子图对象。对应绘制结果如下。

 

示例2:

参照《Python 数据分析(三)[MAC]》中第4个分析任务—获取’John’、’Harry’、’Mary’、’Marilyn’随时间变化的使用数量

1 ### 4. get the sum of names['John', 'Harry', 'Mary', 'Marilyn'] of diferent 'sex' in each year
2 subset = total_births[['John''Harry''Mary''Marilyn']]
3 subset.plot(subplots=True, figsize=(1210), grid=False, title="Number of births per year", xticks=range(1880202010))

说明:
先获取含有不同子图所涉及的数据对象subset,再在调用plot时,设置参数 subplots = True。对应绘制结果如下。

示例3:

参照《Python 数据分析(三)[MAC]》中第4个分析任务—各年度使用包含’lesl’名字的男女比例

1 ### 9. count the ratio of names[contain 'lesl'] of diferent 'sex' in each year
2 all_names = top1000.name.unique()
3 mask = np.array(['lesl' in x.lower() for in all_names])
4 lesley_like = all_names[mask]
5 filtered = top1000[top1000.name.isin(lesley_like)]
6 filtered.groupby('name').births.sum()
7 table = filtered.pivot_table('births', rows='year', cols='sex', aggfunc='sum')
8 table = table.div(table.sum(1), axis=0)
9 table.plot(style={'M':'k-','F''k--'}, xticks=range(1880202010))

说明:
对同一个图形中的两条直线使用不同的图形,style={‘M':’k-‘,’F': ‘k–‘}。对应绘制结果如下。

>>  本文链接:  https://www.jelekinn.com/pandas-dataframe-plot.html
>>  转载请注明来源:  Jele Kinn’s Blog >>  《pandas库中数据结构DataFrame的绘制函数》

这篇关于pandas库中数据结构DataFrame的绘制函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1015496

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Pandas中多重索引技巧的实现

《Pandas中多重索引技巧的实现》Pandas中的多重索引功能强大,适用于处理多维数据,本文就来介绍一下多重索引技巧,具有一定的参考价值,感兴趣的可以了解一下... 目录1.多重索引概述2.多重索引的基本操作2.1 选择和切片多重索引2.2 交换层级与重设索引3.多重索引的高级操作3.1 多重索引的分组聚

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

在Pandas中进行数据重命名的方法示例

《在Pandas中进行数据重命名的方法示例》Pandas作为Python中最流行的数据处理库,提供了强大的数据操作功能,其中数据重命名是常见且基础的操作之一,本文将通过简洁明了的讲解和丰富的代码示例,... 目录一、引言二、Pandas rename方法简介三、列名重命名3.1 使用字典进行列名重命名3.编

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3