pyplot的基础图标函数(常用16个)
函数 | 说明 |
---|---|
plt.plot(x,y,fmt,…) | 绘制一个坐标图 |
plt.boxplot(data,notch,position) | 绘制一个箱形图 |
plt.bar(left,height,width,bottom) | 绘制一个条形图 |
plt.barh(width,bottom,left,htight) | 绘制一个横向条形图 |
plt.polar(theta,r) | 绘制极坐标图 |
plt.pie(data,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_data() | 绘制数据日期 |
pyplot饼图的绘制
饼图(plt.pie()):根据百分比展示数据
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15,20,45,10]
explode = (0,0.1,0,0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1F%%', shadow=False, startangle=90)
plt.show()
import matplotlib.pyplot as plt
labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
sizes = [15,20,45,10]
explode = (0,0.1,0,0)
plt.pie(sizes, explode=explode, labels=labels, autopct='%1.1F%%', shadow=False, startangle=90)
plt.axis('equal') #使饼图成正圆形
plt.show()
pyplot直方图的绘制
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
nu, sigma = 100, 20
a = np.random.normal(nu, sigma, size=100)
plt.hist(a, 20, histtype='stepfilled', facecolor='b', alpha=0.75)
plt.title('Histogram')
plt.show()
#tip:可在plt.hist中增加density=1使直方图按概率显示,否则按出现次数显示
极坐标图的绘制
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=0.0)
for r, bar in zip(radii, bars):
bar.set_facecolor(plt.cm.viridis(r /10.))
bar.set_alpha(0.5)
plt.show()
绘制散点图
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()
tip:仅列举了4个图形样式