Matplotlib 基础绘图函数示例
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(data,explode) |
绘制饼图 |
plt.psd(x,NFFT=256,pad_to,Fs) |
绘制功率谱密度图 |
plt.specgram(x,NFFT=256,pad_to,F) |
绘制谱图 |
plt.chere(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()
例1.0
import matplotlib.pyplot as plt
labels = 'Frogs','Hogs','Dogs','Logs'
sizes = [15,30,45,10]
explode = (0,0.1,0,0)
plt.pie(sizes,explode=explode,labels=labels,autopct='%1.1f%%',
shadow=False,startangle=90)
plt.show()
pyplot 直方图的绘制
plt.hist()
# 例2.0
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)
# normed参数现在是density
# plt.hist(a, 20, normed=1, histtype='stepfilled',facecolor='b',alpha=0.76)
plt.subplot(211)
plt.hist(a, 20, density=1, histtype='stepfilled',facecolor='b',alpha=0.76)
plt.grid(True)
plt.subplot(212)
plt.hist(a, 20, histtype='stepfilled',facecolor='b',alpha=0.76)
plt.title('Histogram')
plt.grid(True)
plt.tight_layout()
plt.show()
pyplot 极坐标图的绘制
面向对象绘制极坐标
# 例3.0
import numpy as np
import matplotlib.pyplot as plt
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()
pyplot 散点图的绘制
面向对象绘制极坐标
# 例 4.0
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(10 * np.random.randn(100), 10 * np.random.randn(100),'o')
ax.set_title('Simple Scatter')
plt.show()