您的位置:首页 > 编程语言 > PHP开发

Matplotlib基础绘图函数示例

2017-07-04 23:06 681 查看

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.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()
绘制数据日期
 

程序实例:

 

绘制饼图:

# -*- coding:utf-8 -*-
importmatplotlib.pyplot as plt

labels = ['Frogs','Hogs', 'Dogs', 'Logs'];
sizes = [15, 30,45, 10];
explode = (0, 0.1,0, 0);

# pie绘制饼图
# sizes:每个饼状的大小(百分比),explode:突出, labels:每块的标记,
# autopct:数字百分比显示格式,shadow:扇形是否有阴影,startangle:起始角度
plt.pie(sizes,explode, labels, autopct='%1.1f%%',
shadow=False, startangle=90);

plt.show();

explode = (0, 0,0, 0);
plt.pie(sizes,explode, labels, autopct='%1.1f%%',
shadow=True);
# 坐标轴相等,表示饼状图是圆形而不是椭圆形
plt.axis('equal');
plt.show();




绘制直方图:

# -*- coding:utf-8 -*-
importmatplotlib.pyplot as plt
import numpy as np

np.random.seed(0);

# 均值和方差
mu, sigma = 100,20;
a =np.random.normal(mu, sigma, 100);

# hist用于绘制直方图
# a是需要绘制的数据,bins是直方图的直方条状个数,
# normed:1表示纵坐标为数据频率,0表示数据出现的频数
# histtype:条形类别,facecolor:条形颜色
plt.hist(a,bins=20, normed=1, histtype='stepfilled', facecolor='green', alpha=0.9);
plt.title('Histogram');
plt.show();

data =np.random.randint(1, 11, 5);
x =np.arange(len(data));

plt.plot(x, data,color = 'r');
# bar绘图条形图
plt.bar(x, data,alpha = .5, color = 'b');
plt.show();




绘制极坐标:

# -*- coding:utf-8 -*-
import numpy as np
importmatplotlib.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');
# left:数据点的其实角度, height:数据里中心点的距离高度,
# width:数据点的跨越角度大小(即扇形的角度)
bars =ax.bar(theta, radii, width, bottom=0.0);

for r, bar inzip(radii, bars):
bar.set_facecolor(plt.cm.viridis(r / 10.));
bar.set_alpha(0.5);

plt.show();
 


绘制散点图:

# -*- coding:utf-8 -*-
import numpy as np
importmatplotlib.pyplot as plt

fig, ax =plt.subplots();
# 绘制散点图
ax.plot(10*np.random.randn(100),10*np.random.randn(100), 'o');
ax.set_title('SimpleScatter');
plt.show();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息