例子:
import matplotlib.pyplot as plt
import numpy as np
# from pylab import *
#设定数据
a=np.random.random(50)*100
center=np.ones(25)*50
filter_hight=np.random.random(10)*100+100
filter_low=np.random.random(10)*(-100)
data=np.concatenate((a,center,filter_hight,filter_low),axis=0)
plt.subplot(311)
plt.boxplot(data,0,'gx')
plt.subplot(312)
x=np.concatenate((a,filter_low,filter_hight),axis=0)
print(x.shape)
y=np.ones(70)*25
print(y.shape)
plt.scatter(x,y)
plt.xlim([0,50])
plt.show()
import matplotlib.pyplot as plt
import numpy as np
'''相同的数据在不同的情况下看起来可能截然不同'''
y=np.random.rand(1000)
x=1e6*np.random.rand(1000)
fig,ax=plt.subplots()
plt.subplot(211)
plt.scatter(x,y)
#设置x刻度后
plt.subplot(212)
plt.xscale('log')#,还提供了对数(logarithmic)和分对数(logit)坐标。当数据的维度跨越许多数量级时,这种坐标就很有用,改变坐标轴的刻度很容易:
plt.scatter(x,y)
plt.show()
将图片转为矩阵和将矩阵转为图片
# coding=gbk
from PIL import Image
import numpy as np
# import scipy
def loadImage():
# 读取图片
im = Image.open("lena.jpg")
# 显示图片
im.show()
im = im.convert("L")
data = im.getdata()
data = np.matrix(data)
# print data
# 变换成512*512
data = np.reshape(data,(512,512))
new_im = Image.fromarray(data)
# 显示图片
new_im.show()
loadImage()
对局部进行放大
import scipy.misc as sm
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
zz=sm.imread('j1.jpg')
plt.subplot(211)
plt.imshow(zz)
plt.subplot(212)
qie=zz[100:900,200:500]
plt.imshow(qie)
plt.colorbar() #加入颜色条
plt.show()