pandas的绘图函数:

本文是学习《利用Python进行数据分析》的部分笔记,在这里感谢作者

一:线性图:

Seris和DataFrame都有一个用于生成各类图表的plot方法,默认情况下,它们生成的是线形图:

 

>>> s=Series(np.random.randn(10).cumsum(),index=np.arange(0,100,10))
s.plot()
<matplotlib.axes._subplots.AxesSubplot object at 0x000000000C65A3C8>


DataFrame的plot方法会在一个subplot中为各列绘制一条线,并自动创建图例:

 

 

>>> df=DataFrame(np.random.randn(10,4).cumsum(0),columns=['A','B','C','D'],index=np.arange(0,100,10))


Series.plot方法的参数:

 

label      用于图例的标签

ax          要在其上绘制的matplotlib subplot对象,如果没有设置,则使用当前的matplotlib subplot

style      将要传给matplotlib的风格字符串,(如'ko--')

alpha     图表的填充不确定度(0到1之间)

kind       可以是‘line',’bar‘(垂直),’barh‘(水平),’kde‘

logy       在Y轴上使用对数标尺

xticks     用作x轴刻度的值

yticks     用作y轴刻度的值

xlim        X轴的界限(例如[0,10])

ylim       Y轴的界限

grid       显示抽网格线(默认打开)

DataFrame还有一些对列进行灵活处理的选项

subplots   将各个列是否绘制到单独的subplot中

sharex      如果subplot=True,则共用一个X轴,包括刻度和界限

sharey     如果subplot=False,则共用一个Y轴。

figsize      表示图像大小的元组

title          表示图像标题的字符串

legend     添加一个subplot的图例,默认为True

sort_columns    以字母表顺序绘制各列,默认使用当前列顺序

二:柱状图

在生成线形图的代码中加上(kind='bar'(垂直柱状图)或kind='barh'(水平柱状图)即可生成柱状图

 

>>> fig,axs=plt.subplots(2,1)
>> >data=Series(np.random.rand(16),index=list('abcdefghijklmnop'))
>>> data.plot(kind='bar',ax=axs[0],color='k',alpha=0.7)
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000074F85C0>
>>> data.plot(kind='barh',ax=axs[1],color='k',alpha=0.7)
<matplotlib.axes._subplots.AxesSubplot object at 0x0000000007C3A9E8>



对于DataFrame,柱状图会将每一行的值分为一组:

 

 

>>> df=DataFrame(np.random.rand(6,4),index=['one','two','three','four','five','six'],columns=pd.Index(['A','B','C','D'],name='Genus'))
df.plot(kind='bar')


三:直方图和密度图:

 

通过Series的hist方法,可以生成直方图,调用plot时加上kind='kde'即可生成一张密度图:

 

>>> cop1=np.random.normal(0,1,size=200)
>>> cop2=np.random.normal(10,2,size=200)
>>> values=Series(np.concatenate([cop1,cop2]))
>>> values.hist(bins=100,alpha=0.3,color='k',normed=True)
>>> 
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000082AA630>
<matplotlib.axes._subplots.AxesSubplot object at 0x00000000082AA630>



四:散点图:

 

利用plt.scatter即可轻松绘制一张简单的散点图。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值