码迷,mamicode.com
首页 > 其他好文 > 详细

读书笔记5基于matplotlib画图

时间:2016-04-19 00:29:00      阅读:364      评论:0      收藏:0      [点我收藏+]

标签:

一、导入需要的模块

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as stats

二、画基本图形

1、plot画图

y=np.random.randn(100)
plt.plot(y,b-)
plt.xlabel(x)
plt.ylabel(y)
plt.title(utitle)
plt.show()

技术分享

可选参数如下所示:

技术分享

也可以通过更改参数来改变画图效果

x=np.cumsum(np.random.rand(100))
plt.plot(y,label=line label,color=r,linestyle=-,marker=o)
plt.show()

技术分享

可选的参数有

技术分享

2、scatter画图,使用两个相同大小的一维数组产生。

例如:数据服从正态分布,相关系数是0.5

z=np.random.randn(100,2)
z[:,1]=0.5*z[:,0]+np.sqrt(0.5)*z[:,1]
x=z[:,0];
y=z[:,1];
plt.scatter(x,y);
plt.show()

技术分享

参数也是可以修改的例如:

z=np.random.randn(100,2)
z[:,1]=0.5*z[:,0]+np.sqrt(0.5)*z[:,1]
x=z[:,0];
y=z[:,1];
plt.scatter(x,y,marker=s,c=r);
plt.show()

技术分享

3、画条形图bar,需要两个一位数组,第一个是横坐标,每个条形图的开始位置;纵坐标是条形图的高度

y=np.random.rand(5);
x=np.arange(5);
plt.bar(x,y)
plt.show()

技术分享

修改他的显示属性,可以使用一个颜色数组来指定每个条形图的颜色。

y=np.random.rand(5);
x=np.arange(5);
colors=[‘#FF0000‘,‘#FFFF00‘,‘#00FF00‘,‘#00FFFF‘,‘#0000FF‘]
plt.bar(x,y,width=0.5,color=colors,edgecolor=‘#000000‘,linewidth=5)
plt.show()

技术分享

4、pie图表,使用一个一维数组来表示,不要求累加和是1,可以使人以大小的正数。

x=np.arange(1,8);
labels=[label1,label2,label3,label4,label5,label6,label7]
plt.pie(x,labels=labels)
plt.show()

技术分享

 

5、直方图hist,需要一个数组,bins参数表示将数据分成几组,默认是10组。

x=np.random.randn(2000);
plt.hist(x,bins=30);
plt.show()

技术分享

如果想要生成累计直方图需要使参数cumulative为true

x=np.random.randn(1000);
plt.hist(x,bins=20,cumulative=True);
plt.show()

技术分享

6、在同一个图上画出多张图表,需要首先使用figure()函数生成一个画板,画子图时需要使用sp=add_subplot(m,n,p)来表示子图。m表示行,n表示列,p表示第几个图。

返回的是子图的句柄用于设置一些参数。最后要想显示出来需要使用draw()函数,将这些子图画在画板上,然后用show()函数显示出来。

fig = plt.figure()
ax = fig.add_subplot(2, 2, 1)
y = np.random.randn(100)
plt.plot(y);
ax.set_title(1)

y = np.random.rand(5)
x = np.arange(5)
ax = fig.add_subplot(2, 2, 2)
plt.bar(x, y)
ax.set_title(2);

y = np.random.rand(5)
y = y / np.sum(y)
y[y < .05] = .05
ax = fig.add_subplot(2, 2, 3)
plt.pie(y)
ax.set_title(3)

plt.draw()
plt.show()

技术分享

 

读书笔记5基于matplotlib画图

标签:

原文地址:http://www.cnblogs.com/zhaopengcheng/p/5406326.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!