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()的相同

Pandas:plot相关函数的更多相关文章

  1. Pandas plot出图

    1.创建一个Series 这是一个线性的数据,我们随机生成1000个数据,Series 默认的 index 就是从0开始的整数,但是这里我显式赋值以便让大家看的更清楚 >>> imp ...

  2. Pandas.plot 做图 demo(scatter,bar,pie)

    #coding:utf-8import numpy as npimport matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimH ...

  3. Numpy&Pandas

    Numpy & Pandas 简介 此篇笔记参考来源为<莫烦Python> 运算速度快:numpy 和 pandas 都是采用 C 语言编写, pandas 又是基于 numpy, ...

  4. numpy&pandas基础

    numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.o ...

  5. <转>pandas学习

    1.Pandas 基本介绍 Numpy 和 Pandas 有什么不同? 如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签,而 Pandas 就是字典形式 ...

  6. Numpy and Pandas

    安装 视频链接:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/ pip install numpy pip instal ...

  7. numpy、pandas学习二

    #numpy中arrary与pandas中series.DataFrame区别#arrary生成数组,无索引.列名:series有索引,且仅能创建一维数组:DataFrame有索引.列名import ...

  8. Python【7】-数据分析准备

    一.经常用到的python库: Numpy:Python科学计算的基础包: pandas:提供了能使我们快捷的处理结构化数据的大量数据结构和函数: matplotlib:用于绘制数据图表的python ...

  9. PimaIndiansdiabetes-数据预处理实验(一)

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10859517.html 链接:https:// ...

随机推荐

  1. Java中四种访问权限总结

    一.Java中有四种访问权限, 其中三种有访问权限修饰符,分别为private.public.protected,还有一种不带任何修饰符(default). 1. private: Java语言中对访 ...

  2. AT2582 [ARC075D] Mirrored

    首先因为这个问题的解的范围我们是不清楚的,可以先考虑一下解的范围以便后面的解题. 那么我们可以大胆猜测这个数的位数应该不会很长,否则除非使用一条与 \(D\) 有关的式子外,不论我们用什么方法都计算不 ...

  3. classpath环境变量(JDK5.0之后不建议配置)

    classpath的作用: 作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,一旦配置了classpath路径信息的时候,jvm与java编译器都会根据classpath指定的路径 ...

  4. Redis主从复制、读写分离

    一.Redis的主从复制是什么 主机数据更新后根据配置和策略,自行同步到备机的master/slave机制,Master以写为主,Slave以读为主. 二.Redis的主从复制能干什么 读写分离 容灾 ...

  5. 打印流(printStream)

    import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.Pri ...

  6. Linux重定向输出到以当前时间命名的文件 / date命令格式化输出

    1. 利用date命令重定向到以当前时间命名的文件 例如: ls -l > mylog_$(date +"%Y-%m-%d_%H-%M-%S").log 或: ls -l & ...

  7. 框架3.1--V·P·N简介

    目录 框架3.1-VPN简介 1.晨考 2.昨日问题 3.今日内容 4.vpn的简介 5.VPN的作用 6.VPN的种类 7.介绍OpenVPN 框架3.1-VPN简介 1.晨考 1.画iptable ...

  8. Solution Set -「LOCAL」冲刺省选 Round XXIII

    \(\mathscr{Summary}\)   有一说一,虽然我炸了,但这场锻炼心态的效果真的好.部分分聊胜于无,区分度一题制胜,可谓针对性强的好题.   A 题,相对性签到题.这个建图确实巧妙,多见 ...

  9. Solution -「CodeChef JUMP」Jump Mission

    \(\mathcal{Description}\)   Link.   有 \(n\) 个编号 \(1\sim n\) 的格子排成一排,并有三个权值序列 \(\{a_n\},\{h_n\},\{p_n ...

  10. Solution -「ZJOI2012」「洛谷 P2597」灾难

    \(\mathcal{Description}\)   link.   给定一个捕食网络,对于每个物种,求其灭绝后有多少消费者失去所有食物来源.(一些名词与生物学的定义相同 w.)   原图结点数 \ ...