pandas 知识点补充:绘图plot
1 plot介绍
使用DataFrame的plot方法绘制图像会按照数据的每一列绘制一条曲线,默认按照列columns的名称在适当的位置展示图例,比matplotlib绘制节省时间,且DataFrame格式的数据更规范,方便向量化及计算。
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, fontsize=None, colormap=None, position=0.5, table=False, yerr=None, xerr=None, stacked=True/False, sort_columns=False, secondary_y=False, mark_right=True, **kwds)
2 主要参数
kind |
绘图类型 | ‘line’ | 折线图 |
‘bar’ |
条形图。 stacked为True时为堆叠的柱状图 |
||
‘barh’ | 横向条形图 | ||
‘hist’ | 直方图(数值频率分布) | ||
‘box’ | 箱型图 | ||
‘kde’ |
Kernel Density Estimation plot 密度图,主要对柱状图添加Kernel 概率密度线 |
||
‘area’ |
与x轴所围区域图(面积图)。 Stacked=True时,每列必须全部为正或负值, stacked=False时,对数据没有要求 |
||
‘pie’ |
饼图。 数值必须为正值,需指定Y轴或者subplots=True |
||
‘scatter’ | 散点图。需指定X轴Y轴 | ||
‘hexbin’ | 蜂巢图。需指定X轴Y轴 | ||
subplots |
boolean default False 是否对列分别作子图 |
||
grid |
图片是否有网格 | ||
legend |
子图的图例 (默认为True) | ||
logx |
设置x轴刻度是否取对数 | ||
logy |
设置y轴刻度是否取对数 | ||
loglog |
同时设置x,y轴刻度是否取对数 | ||
xlim&ylim |
设置坐标轴的范围。 数值(最小值)或元组(区间范围) |
||
fontsize |
设置轴刻度的字体大小 | ||
colormap |
设置图的区域颜色 | ||
colorbar |
柱子颜色 | ||
secondary_y |
boolean or sequence, default False 设置第二个y轴(右辅助y轴) |
2.1 其他需要注意的地方
2.1.1 设置X、Y轴名称
ax.set_ylabel('yyy')
ax.set_xlabel('xxx')
2.1.2 plt.legend(loc='best')
- loc:图列位置
2.1.3每种绘图类型都有相对应的方法。
比如, df.plot(kind='line')与df.plot.line()等价
2.1.4 画图步骤
1)首先定义画图的画布:fig = plt.figure( )
2)然后定义子图ax ,使用 ax= fig.add_subplot( 行,列,位置标)
3)用 ax.plot( )函数或者 df.plot(ax = ax)
4)结尾加plt.show()
3 画图举例
3.0 直接做图
每一列一条线
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
# ts = ts.cumsum()df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()df.plot()#每一列一条线
3.1 主副轴
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()#A图用左Y轴标注,B图用右Y轴标注,二者共用一个X轴df.A.plot()#对A列作图,同理可对行做图df.B.plot(secondary_y=True, style='g')#设置第二个y轴(右y轴)
3.1.1 主副轴分别设置标签位置
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))df =pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD')) df = df.cumsum()ax = df.plot(secondary_y=['A', 'B'])
# 定义column A B使用右Y轴。ax.set_ylabel('CD scale')ax.right_ax.set_ylabel('AB scale')ax.legend(loc='upper left') #设置图例的位置ax.right_ax.legend(loc='upper right')
#分别设置主副轴的位置和标题plt.show()
pandas 知识点补充:绘图plot相关推荐
- Pandas知识点超全总结
Pandas知识点超全总结 一.数据结构 1.Series 1.创建 2.切片.修改 3.其他属性 2.DataFrame 1.创建 2.切片 3.增加.修改 4.删除 5.查看 二.读写数据 1.读 ...
- Pandas知识点-添加操作append
Pandas知识点-添加操作append 在Pandas中,append()方法用于将一个或多个DataFrame或Series添加到DataFrame中.append()方法也可以用于合并操作,本文 ...
- pandas中的绘图函数(什么是kde)
不难看出,matplotlib实际上是一种比较低级的工具.要组装一张图表,我们得用它的各种基础组件才行:数据展示(即图表类型:线型图.柱状图.盒形图.散布图.等值线图等).图例.标题.刻度标签以及其他 ...
- python日记Day18——Pandas之Excel绘图
python日记--Pandas之Excel绘图 利用pandas和pyplot进行数据可视化,绘图过程中使用到的excel文件如下:excel文件,提取码:falj 柱图的绘制 1.柱状图: imp ...
- R语言可视化R原生plot函数与ggplot可视化结果组合、整合输出实战:原生R绘图plot函数可视化、ggplot2包可视化、R原生plot函数与ggplot可视化结果组合
R语言可视化R原生plot函数与ggplot可视化结果组合.整合输出实战:原生R绘图plot函数可视化.ggplot2包可视化.R原生plot函数与ggplot可视化结果组合 目录
- 计算机网络知识点补充
计算机网络知识点补充 目录: 1. HTTP和HTTPS的区别 http协议是运行在tcp之上,明文传输,客户端和服务器端都无法验证对方的身份:https是运行在ssl(Secure Socket L ...
- pandas内置绘图_使用Pandas内置功能探索数据集
pandas内置绘图 Each and every data scientist is using the very famous libraries for data manipulation th ...
- Pandas知识点-合并操作combine
Pandas知识点-合并操作combine combine是联合的意思,在Pandas中,combine()方法也是一种实现合并的方法,本文介绍combine()方法的用法. 一.combine_fi ...
- Pandas知识点-合并操作join
Pandas知识点-合并操作join 在Pandas中,join()方法也可以用于实现合并操作,本文介绍join()方法的具体用法. 一.基础合并操作 join(other): 将一个或多个DataF ...
最新文章
- 【智能驾驶】自动驾驶深度感知技术对车和行人的检测
- Linux下Apache虚拟主机配置
- 二倍图三倍图什么意思_搞笑GIF图:搞笑GIF图:平安夜为什么见不到“圣诞老人”...
- 如何写出优雅的异常处理
- 如何注册java程序为windows服务
- 另类windows与ubuntu共享实现
- (四)Linux 安装 jdk
- Win7便签快捷键大全
- 【tool】番茄时间管理法
- XML 转 JSON
- ps如何用创建和使用动作
- 砸蛋程序php,基于JQuery+PHP编写砸金蛋中奖程序,jquery中奖_PHP教程
- Mac Spotlight搜索快捷键
- CodeForces-767C Garland
- 微信如何群发消息给所有人?
- 【Latex】用Acrobat剪切pdf文件中图
- 清除一个挖矿程序、步骤!!!
- 人才吸引力评价模型研究
- 27年,微软IE结束了!
- 美中嘉和赴港IPO背后:毛利率大幅下滑,杨建宇控股2家公司均亏损
热门文章
- 计算当前日期是一年中的第几周
- 在.NET中编辑器在用伪静态后不能正常使用的解决方法
- 数据库中字段类型对应C#中的数据类型
- 信息化应以电子商务为鉴——企业成长的经济共同体道路
- 中断中是否可以使用信号量?
- Leetcode1702. 修改后的最大二进制字符串[C++题解]:思维题
- c语言中当二维数组越界时会有错误提示,萌新请教大佬们。动态二维数组莫名其妙越界了,找了半天没发现有错啊...
- oracle简版如何打开,如何打开和关闭Oracle游标
- scrapy的name变量_python-将file_name参数传递给管道以在scrapy中...
- python安装完后无法打开运行_安装Python完成后无法正确运行