一.pyplot基本图标函数概述
以下是对pyplot一些基本绘图函数的介绍,内容较多,故分多表介绍:
函数 | 说明 |
plt.plot(x,y,fmt,...) | 绘制一个坐标图 |
plt.boxplot(data,notch,position) | 绘制一个箱形图 |
plt.bar(left,height,width,bottom) | 绘制一个条形图 |
plt.barh(width,bottom,left,height) | 绘制一个横向条形图 |
plt.polar(theta,r) | 绘制极坐标图 |
plt.pie(date,explode) | 绘制饼图 |
函数 | 说明 |
plt.psd(x,NFFT=256,pad_to,Fs) | 绘制功率谱密度图 |
plt.specgram(x,NFFT=256,pad_to,F) | 绘制谱图 |
plt.cohere(x,y,NFFT=256,Fs) | 绘制X-Y的相关性函数 |
plt.scatter(x,y) | 绘制散点图,其中,x和y长度相同 |
plt.step(x,y,where) | 绘制步阶图 |
plt.hist(x,bins,normed) | 绘制直图 |
函数 | 说明 |
plt.contour(X,Y,Z,N) | 绘制等值图 |
plt.vlines() | 绘制垂直图 |
plt.stem(x,y,linefmt,markerfmt) | 绘制柴火图 |
plt.plot_date() | 绘制数据日期 |
二.pyplot饼图绘制
饼图绘制plt.pie()函数,plt.axis()缩放操作
代码实例:
-
import matplotlib.pyplot
as plt
-
-
labels =
'sing',
'dance',
'rap',
'basketball'
-
size = [
15,
30,
45,
10]
-
explode = (
0,
0.1,
0,
0)
-
plt.pie(size, explode=explode, labels=labels, autopct=
'%1.1f%%',
-
shadow=
True, startangle=
90)
-
plt.axis(
'equal')
-
plt.show()
效果图:
当shadow为false是,饼图没有立体阴影效果:
三.pyplot直方图绘制
直方图绘制函数plt.hist()
hist常用参数:
·bins:直方图区间的个数
·color:柱子颜色
·edgecolor:柱子边框颜色
·denstiy:参数默认为Flase,表示用每个区间的数值个数来绘图,当去True时,柱子的高度为每个区间的频率
·orientation:表示柱子的方向,默认值为vertical,为竖直方向,当取值为horizontal时为水平向
·histtpe:指定绘图的类型,参数bar和stepfilled一样,当参数为step时只绘边框的线条
·alpha:设置像素
代码实例:
-
import matplotlib.pyplot
as plt
-
import numpy
as np
-
-
np.random.seed(
0)
-
mu,sigma=
100,
20
#均值和标准差
-
a=np.random.normal(mu,sigma,size=
100)
-
plt.hist(a,
20,histtype=
'stepfilled',facecolor=
'b',alpha=
0.75)
-
plt.title(
'Histogram')
-
plt.show()
效果图:
又如:
-
import matplotlib.pyplot
as plt
-
import numpy
as np
-
-
np.random.seed(
0)
-
mu,sigma=
100,
20
#均值和标准差
-
a=np.random.normal(mu,sigma,size=
100)
-
plt.hist(a,
20, histtype=
'bar', facecolor=
'b', alpha=
0.75,
-
edgecolor=
'k',orientation=
'horizontal')
-
plt.title(
'Histogram')
-
plt.show()
图:
四.pyplot极坐标图的绘制
-
import matplotlib.pyplot
as plt
-
import numpy
as np
-
-
N=
20
-
theta=np.linspace(
0.0,
2*np.pi,N,endpoint=
False)
-
radii=
10*np.random.rand(N)
-
width=np.pi/
4*np.random.rand(N)
-
ax=plt.subplot(
111,projection=
'polar')
-
bars=ax.bar(theta,radii,width=width,bottom=
1.0)
-
for r,bar
in
zip(radii,bars):
-
bar.set_facecolor(plt.cm.viridis(r/
10.))
-
bar.set_alpha(
0.5)
-
plt.show()
图:
代码详解:
theta=np.linspace(0.0,2*np.pi,N,endpoint=False)
将0到均匀分成N份
width=np.pi/4*np.random.rand(N)
生成的数,形成密度值
ax=plt.subplot(111,projection='polar')
111为子分区,表示生成1*1矩阵的图取第一个图,projection表示画的极坐标
最后for循环用于图像添加颜色
五.pyplot散点图绘制
代码:
-
import matplotlib.pyplot
as plt
-
import numpy
as np
-
-
fig,ax=plt.subplots()
-
ax.plot(
10*np.random.randn(
100),
10*np.random.randn(
100),
'o')
-
ax.set_title(
'Simple Scatter')
-
plt.show()
效果图:
转载:https://blog.csdn.net/weixin_63009369/article/details/127839386
查看评论