y = np.sin(x) # 因变量取值
plt.plot(x,y,‘b*’,label=‘aaa’) # 'b*'表示蓝色*状线,label是指定义图例
plt.plot(x*2,y,‘r–’,label=‘bbb’) # 'r–'表示红色虚线,
plt.xlabel(‘this is x’) # 设置横轴标签
plt.ylabel(‘this is y’) # 设置纵轴标签
plt.title(‘this is title’) # 设置标题
plt.legend() # 显示上面定义的图例
plt.show() # 展示图像
这样一个简单的绘图就出来了,这里面有两个图形,位于一块画布上,还介绍了一些标签的设置。
2、子图
plt.subplot(2,1,1) # 子图,(2,1,1)代表,创建2*1的画布,并且定位于画布1 ;等效于plt.subplot(211),即去掉逗号
a = plt.subplots() # 返回两个对象 figure ax
figure,ax = plt.subplots()
ax.plot([1,2,3,4,5])
plt.show() # 显示图像
subplots可以传入参数,几行几列
figure,ax = plt.subplots(2,2)
figure 显示画布,分成2*2的
ax[0][0].plot(x,y)
ax[0][1].plot(x2,y2) # 可以分别绘图
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() # 显示图例,这个上面提到过,没有这个,设置了图例也是不会显示出来的
这是一个小例子
s1 = Series(np.random.randint(1000).cumsum()) # 创建series,cumsum()是指叠加求和,本位数是前几项之和
s1.plot() # series有自己的plot函数,里面可以写入想要的参数
4、pandas–DataFrame绘图
df = DataFrame(
np.random.randint(1,10,40).reshape(10,4),
columns=[‘A’,‘B’,‘C’,‘D’]
)
df.plot() # dataframe也有自己的plot,按列画出来,参数包含ax,选择输出的画布
参数: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、直方图和密度图
直方图
s = Series(np.random.randn(1000))
plt.hist(s,rwidth=0.9) # 直方图,rwidth为设置宽度
plt.show()
hist()的参数:rwidth为宽度;bins=20表示显示的区间,默认是10份;color='r’设置颜色;
密度图
s.plot(kind=‘kde’) # kind='kde’即表示密度图