pandas中绘图函数df.plot()的使用以及cumsum()函数
df.plot
df.plot(x, y, kind, figsize, title, grid, legend, style)
x 只有dataframe对象时,x可用。横坐标
y 同上,纵坐标变量
kind 可视化图的种类,如下:
| - '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.
figsize 画布尺寸
title 标题
grid 是否显示格子线条
legend 是否显示图例
style 图的风格
查看plot参数可以使用help:
import pandas as pd help(pd.DataFrame.plot)
从最简单的开始,如果要绘制一条数据的线性图。因为Series和DataFrame都有一个用于生成各类图表的plot方法。
对于一条Series数据,直接plot()就能获得一张线性图了
data = pd.Series(np.random.randn(1000),index=np.arange(1000)) data = data.cumsum() data.plot() plt.show()
编写以下代码,就可以看到。
对于DataFrame数据也是一样。在生产线型图的代码中,加上kind=‘bar’或kind=‘barh’就可以生成柱状图。
'''Series.plot中的参数有很多很多,下图示例中,kind表示那种形式的图表,ax指要在其画板上绘制的对象,也就是图中的那个figure, alpha表示图表填充的透明度。在生产线型图的代码中,加上kind=‘bar’或kind=‘barh’就可以生成柱状图。 在柱状图中,bar表示垂直图,barh表示水平图。''' import pandas as pd import numpy as np import matplotlib.pyplot as plt data=pd.DataFrame(np.random.randn(10,4),columns=('a','b','c','d'),index=(np.arange(0,100,10))) # data=data.cumsum() data.plot(kind='bar')#data.plot()如果不加kind='bar’则生成折线图。 plt.show()
cumsum()可参考:https://blog.csdn.net/LZH_12345/article/details/79848100
# 使用累积求和cumsum()时nan会被忽略。
df = pd.DataFrame([[2.0, 1.0],[3.0, np.nan],[1.0, 0.0]],columns=list('AB')) print(df) print(df.cumsum()) # 按列相加 print(df.cumsum(axis=1)) # 按行相加
可看出:
cumsum()是逐行相加,第二行把第一行的加上,第三行把第一二行的加到一块。
cumsum(axis=1)是逐列相加,第二列把第一列的加上,第三列把第一二列的加到一块。
https://blog.csdn.net/qq_16000815/article/details/80721016