python画熊猫代码_Python绘图之matplotlib基本语法

1279674-20200131161932977-1154739796.png

Matplotlib 是一个 Python 的 2D绘图库,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。当然他也是可以画出3D图形的,这时就需要安装更多的扩展。相比MATLAB来说,python不需要那么大的安装包,而且最重要的是开源的,在这方面python还是有一定的优势的。

下面我将简单梳理一下matplotlib画图的方法,首先把本次需要用到的包导入进来:

1 importnumpy as np2 importpandas as pd3 importmatplotlib.pyplot as plt4 from pandas import Series,DataFrame

当然,在真正做事情时要根据自己的要求来导入,这里为了示例要导入numpy和pandas。

1、一个简单案例来展示画图的基本命令

1 x = np.linspace(0,2*np.pi,100) #设置横轴变量,从0到2*pi,均分为100份

2 y = np.sin(x) #因变量取值

3

4 plt.plot(x,y,'b*',label='aaa') #'b*'表示蓝色*状线,label是指定义图例

5 plt.plot(x*2,y,'r--',label='bbb') #'r--'表示红色虚线,

6 plt.xlabel('this is x') #设置横轴标签

7 plt.ylabel('this is y') #设置纵轴标签

8 plt.title('this is title') #设置标题

9 plt.legend() #显示上面定义的图例

10 plt.show() #展示图像

这样一个简单的绘图就出来了,这里面有两个图形,位于一块画布上,还介绍了一些标签的设置。

2、子图

1 plt.subplot(2,1,1) #子图,(2,1,1)代表,创建2*1的画布,并且定位于画布1 ;等效于plt.subplot(211),即去掉逗号

2

3 a = plt.subplots() #返回两个对象 figure ax

4 figure,ax =plt.subplots()5 ax.plot([1,2,3,4,5])6 plt.show() #显示图像

7

8 #subplots可以传入参数,几行几列

9 figure,ax = plt.subplots(2,2)10 #figure 显示画布,分成2*2的

11 ax[0][0].plot(x,y)12 ax[0][1].plot(x*2,y*2) #可以分别绘图

3、pandas--Series绘图

先介绍几个常用的参数:

plot参数:kind:图像显示的方法,包括'line''bar''barh''hist''box''kde''density''area''pie'.

grid=True 表示显示背景的网格

label='str',参数里写这个,输出图像之前要协一个plt.legend(),显示图例

title='str',显示标题

style='--',显示为虚线

plt.legend() # 显示图例,这个上面提到过,没有这个,设置了图例也是不会显示出来的

1 #这是一个小栗子

2 s1 = Series(np.random.randint(1000).cumsum()) #创建series,cumsum()是指叠加求和,本位数是前几项之和

3 s1.plot() #series有自己的plot函数,里面可以写入想要的参数

4、pandas--DataFrame绘图

1 df =DataFrame(2 np.random.randint(1,10,40).reshape(10,4),3 columns=['A','B','C','D']4 )5 df.plot() #dataframe也有自己的plot,按列画出来,参数包含ax,选择输出的画布

6 #参数:stacked=True,表示一个堆叠的情况,同一个index下,columns一不同颜色叠在一起

1、可以取其一行或几行来画图,即将dataftame横过来画:

一行:df.iloc[5].plot() # iloc是pandas里面的一个可以说是切片的命令

多行或全部:for i in df.index:

df.iloc[i].plot(label=str[i])

plt.legend()

2、对列画图:

df['A'].plot()

3、对行绘图还有简便方法:

就是对df进行转置,然后再plot ,df.T.plot()

5、直方图和密度图

1 #直方图

2 s = Series(np.random.randn(1000))3 plt.hist(s,rwidth=0.9) #直方图,rwidth为设置宽度

4 plt.show()5 #hist()的参数:rwidth为宽度;bins=20表示显示的区间,默认是10份;color='r'设置颜色;

1 #密度图

2 s.plot(kind='kde') #kind='kde'即表示密度图

今天就大概先总结这些,博主也是初学者,如有不足,请多多指教,希望可以给一些朋友带来帮助,如若觉得我说的太少了,可以查看官方文档https://matplotlib.org/。

作者:渔单渠

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值