详解pandas.DataFrame.plot() 画图函数


Posted in Python onJune 14, 2020

首先看官网的DataFrame.plot( )函数

DataFrame.plot(x=None, y=None, kind='line', ax=None, subplots=False, 
        sharex=None, 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,
        xerr=None,secondary_y=False, sort_columns=False, **kwds)

参数详解如下:

Parameters:
x : label or position, default None#指数据框列的标签或位置参数

y : label or position, default None

kind : str
‘line' : line plot (default)#折线图
‘bar' : vertical bar plot#条形图
‘barh' : horizontal bar plot#横向条形图
‘hist' : histogram#柱状图
‘box' : boxplot#箱线图
‘kde' : Kernel Density Estimation plot#Kernel 的密度估计图,主要对柱状图添加Kernel 概率密度线
‘density' : same as ‘kde'
‘area' : area plot#不了解此图
‘pie' : pie plot#饼图
‘scatter' : scatter plot#散点图 需要传入columns方向的索引
‘hexbin' : hexbin plot#不了解此图

ax : matplotlib axes object, default None#**子图(axes, 也可以理解成坐标轴) 要在其上进行绘制的matplotlib subplot对象。如果没有设置,则使用当前matplotlib subplot**其中,变量和函数通过改变figure和axes中的元素(例如:title,label,点和线等等)一起描述figure和axes,也就是在画布上绘图。

subplots : boolean, default False#判断图片中是否有子图
Make separate subplots for each column

sharex : boolean, default True if ax is None else False#如果有子图,子图共x轴刻度,标签
In case subplots=True, share x axis and set some x axis labels to invisible; defaults to True if ax is None otherwise False if an ax is passed in; Be aware, that passing in both an ax and sharex=True will alter all x axis labels for all axis in a figure!

sharey : boolean, default False#如果有子图,子图共y轴刻度,标签
In case subplots=True, share y axis and set some y axis labels to invisible

layout : tuple (optional)#子图的行列布局
(rows, columns) for the layout of subplots

figsize : a tuple (width, height) in inches#图片尺寸大小

use_index : boolean, default True#默认用索引做x轴
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

legend : False/True/'reverse'#子图的图例,添加一个subplot图例(默认为True)
Place legend on axis subplots

style : list or dict#对每列折线图设置线的类型
matplotlib line style per column

logx : boolean, default False#设置x轴刻度是否取对数
Use log scaling on x axis
logy : boolean, default False
Use log scaling on y axis

loglog : boolean, default False#同时设置x,y轴刻度是否取对数
Use log scaling on both x and y axes

xticks : sequence#设置x轴刻度值,序列形式(比如列表)
Values to use for the xticks

yticks : sequence#设置y轴刻度,序列形式(比如列表)
Values to use for the yticks

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

colormap : str or matplotlib colormap object, default None#设置图的区域颜色
Colormap to select colors from. If string, load colormap with that name from matplotlib.

colorbar : boolean, optional #图片柱子
If True, plot colorbar (only relevant for ‘scatter' and ‘hexbin' plots)

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 #如果为正,则选择DataFrame类型的数据并且转换匹配matplotlib的布局。
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.

sort_columns : boolean, default False # 以字母表顺序绘制各列,默认使用前列顺序

secondary_y : boolean or sequence, default False ##设置第二个y轴(右y轴)
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、画图图形

import pandas as pd 

from pandas import DataFrame,Series

df = pd.DataFrame(np.random.randn(4,4),index = list('ABCD'),columns=list('OPKL'))

df
Out[4]: 
     O     P     K     L
A -1.736654 0.327206 -1.000506 1.235681
B 1.216879 0.506565 0.889197 -1.478165
C 0.091957 -2.677410 -0.973761 0.123733
D -1.114622 -0.600751 -0.159181 1.041668

详解pandas.DataFrame.plot() 画图函数 

注意一下散点图scatter是需要传入两个Y的columns参数的:

详解pandas.DataFrame.plot() 画图函数 

传入x,y参数

详解pandas.DataFrame.plot() 画图函数 

详解pandas.DataFrame.plot() 画图函数 

同时画多个子图,可以设置 subplot = True

详解pandas.DataFrame.plot() 画图函数 

2、注意事项:

- 在画图时,要注意首先定义画图的画布:fig = plt.figure( )
- 然后定义子图ax ,使用 ax= fig.add_subplot( 行,列,位置标)
- 当上述步骤完成后,可以用 ax.plot()函数或者 df.plot(ax = ax)
- 在jupternotebook 需要用%定义:%matplotlib notebook;如果是在脚本编译器上则不用,但是需要一次性按流程把代码写完;
- 结尾时都注意记录上plt.show()

详解pandas.DataFrame.plot() 画图函数

到此这篇关于详解pandas.DataFrame.plot() 画图函数的文章就介绍到这了,更多相关pandas.DataFrame.plot( )画图内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中使用sys模板和logging模块获取行号和函数名的方法
Apr 15 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python爬取w3shcool的JQuery课程并且保存到本地
Apr 06 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
python 串口读取+存储+输出处理实例
Dec 26 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
Jan 07 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
Mar 31 Python
利用python绘制正态分布曲线
Jan 04 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 20 Python
Pandas把dataframe或series转换成list的方法
Jun 14 #Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 #Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 #Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 #Python
pandas创建DataFrame的7种方法小结
Jun 14 #Python
Python中zipfile压缩文件模块的基本使用教程
Jun 14 #Python
pandas DataFrame运算的实现
Jun 14 #Python
You might like
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
Zend Framework自定义Helper类相关注意事项总结
2016/03/14 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
PHP自动识别当前使用移动终端
2018/05/21 PHP
网页里控制图片大小的相关代码
2006/06/13 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
node打造微信个人号机器人的方法示例
2018/04/26 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
Python中获取对象信息的方法
2015/04/27 Python
详解python中asyncio模块
2018/03/03 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
Johnston & Murphy官网: 约翰斯顿·墨菲牛津总统鞋
2018/01/09 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
中学生校园广播稿
2014/01/16 职场文书
副厂长岗位职责
2014/02/02 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
医院合作协议书
2014/08/19 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL
golang语言指针操作
2022/04/14 Golang