Pandas:plot相关函数

0、注意事项 及 各种错误

1)绘制bar图时,如果出现重复的x值被合并到一个情况(导致X轴应该显示内容有缺失),可能是由于Pandas版本太低;

2)无法设置中文title,在代码中加入两句话:

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

 

1、plot()

说明

绘图

用法

df.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, position=None
    xticks=None, yticks=None, xlim=None, ylim=None, rot=None,
    xerr=None, secondary_y=False, sort_columns=False, **kwds
)

参数

参数 类型 默认值 说明
x label、position None 用哪一列的值作为x,默认index列
y label、position None 用哪几列作为y,默认全部(y中有几列就有几条折线)
kind str 'line' 哪种类型的图:
复制代码
‘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 None

子图(axes) 。如果没有设置,则使用当前matplotlib subplot。

figure,ax=plt.subplots(m,n)

如果要在子图[i][j]上绘图,该项参数要设置为ax[i][j]

subplots bool False 是否为每一列单独开辟子图
sharex bool

ax==None时True

否则False

subplots=True时,共享x轴。

该项标识是否为每个子图分别显示一个x label

sharey bool False subplots=True时,是否共享y轴(通常不常用)
layout tuple(rows,columns) (n,1) 子图界面布局,默认是(n,1)
figsize tuple(width,height)   界面长宽,通常不用管
use_index bool True 使用Index列作为x轴
title str,list None

如果是str,则整副图像只有一个title,在中间上部

如果是list,subplots=True,则为每个子图命名

grid bool None 是否绘制网格
legend bool或'reverse' True

是否绘制图例

如果设置为'reverse',则图例反放

style list、dict   每一列对应折线的绘制方式
logx bool、'sym' False 是否使用对数横坐标
logy bool、'sym' False 是否使用对数纵坐标
loglog bool、'sym' False 是否使用对数横纵坐标
xticks sequence   设置x轴刻度
yticks sequence   设置y轴刻度
A.plot(yticks=[0,300,600]) #y轴上显示出0 300 600刻度
xlim (min,max)或[min,max]   最大最小刻度值
ylim (min,max)或[min,max]  
rot int None x轴坐标刻度的旋转角度
fontsize int None 坐标刻度文字大小
colormap str、matplotlib colormap object None 色表
colorbar bool   是否绘制色表(只用于散点图hexbin图)
position float(0.0~0.1)   柱状图布局(只用于bar图)
table bool、Series、DataFrame False

True时,在图形中放置一个数据表格

如果给出一个Series或DataFrame,则绘制给出的数据表格

yerr DataFrame、Series、array、dict、str    
xerr DataFrame、Series、array、dict、str    
stacked bool

line和bar图中False

area图中True

堆叠图
sort_columns bool False 对列名排序后再画图
secondary bool、sequence False 右y轴
mark_right bool True 使用右y轴时,是否在图例上标注'right'
include_bool bool False 如果是True,那么boolean值也会被绘制
backend str None  

在使用plot之前,也可以使用matplotlib中的相关方法,比如:

import matplotlib.pyplot as plt

fig = plt.figure() #新建画布
ax1 = fig.add_subplot(2,1,1)#选择子画布
df.plot(ax=ax1)#在子画布上画图

返回值

matplotlib.axes.Axes 或者 多个Axes的ndarray

 

通过这个返回值,我们可以对具体子图进行操作(如果通过subplots参数引入了话)。

假设我们有5列,并通过subplots参数将这5列单独绘制出来,那么就能用ax[i]来访问这5幅子图,并通过像使用matplotlib.pyplot那样来使用其它的绘图函数:

ax=df.plot(subplots=True)

#假设df一共有5列,那么在激活了subplots参数后,就会有5幅子图,用ax承接plot()函数的返回值,ax就是这5幅子图的ndarray,通过ax[i]就可以访问具体的子图
for j in range(5): 
     ax[j].axhline(y=40000,color='red')#给每幅子图添加水平线
plt.show()

 

 

2、plot.bar()

说明

绘制柱状图

用法

df.plot.bar(x=None,y=None,**kwargs)

参数

参数

类型

默认值

说明

x label或position None 作为x的列,默认index列
y label或position None 作为y的列(可以是列名或者某一列的索引),默认所有数值列
color str、Array、List、Dict  

每条柱的颜色;

如果Color List中的数量不与列数相匹配,那么颜色就对每列循环使用

**kwargs     其他参数,和plot()的相同

 

posted @   ShineLe  阅读(848)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示