1 import numpy as np 2 import pandas as pd 3 import matplotlib.pyplot as plt 4 from pandas import Series,DataFrame
固然,在真正作事情时要根据本身的要求来导入,这里为了示例要导入numpy和pandas。python
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() # 展现图像
这样一个简单的绘图就出来了,这里面有两个图形,位于一块画布上,还介绍了一些标签的设置。dom
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) # 能够分别绘图
先介绍几个经常使用的参数:函数
plt.legend() # 显示图例,这个上面提到过,没有这个,设置了图例也是不会显示出来的this
1 # 这是一个小栗子 2 s1 = Series(np.random.randint(1000).cumsum()) # 建立series,cumsum()是指叠加求和,本位数是前几项之和 3 s1.plot() # series有本身的plot函数,里面能够写入想要的参数
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一不一样颜色叠在一块儿
一、能够取其一行或几行来画图,即将dataftame横过来画:
一行:df.iloc[5].plot() # iloc是pandas里面的一个能够说是切片的命令
多行或所有:for i in df.index:
df.iloc[i].plot(label=str[i])
plt.legend()
二、对列画图:
df['A'].plot()spa
三、对行绘图还有简便方法:
就是对df进行转置,而后再plot ,df.T.plot()code
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/。对象
做者:渔单渠blog