numpypython
編輯編程
import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='SimHei' matplotlib.rcParams['font.sans-serif']=['SimHei'] labels=np.array(['第一次做業','第二次做業','第三次做業','第四次做業','第五次做業','第六次做業','第七次做業']) nAttr=7 data=np.array([0,0.909,1,1,1,0.875,0]) angles=np.linspace(0,2*np.pi,nAttr,endpoint=False) data=np.concatenate((data,[data[0]])) angles=np.concatenate((angles,[angles[0]])) fig=plt.figure(facecolor='white') plt.subplot(111,polar=True) plt.plot(angles,data,'bo-',color='g',linewidth=2) plt.fill(angles,data,facecolor='r',alpha=0.25) plt.thetagrids(angles*180/np.pi,labels) plt.figtext(0.52,0.95,'01個人成績',ha='center') plt.grid(True) plt.savefig('xuexi.JPG') plt.show()
結果圖:數組
from PIL import Image import numpy as np im0=np.array(Image.open('D:\\故宮.jpg').convert("L")) im1=255-im0 im2=(100/255)*im0+150 im3=255*(im1/255)**2 pil_im=Image.fromarray(np.uint(im1)) pil_im.save('gugonggai.jpg') pil_im.show()
im1,im2,im3三次改變的圖分別爲:ide
將im3改成:im3=255-255*(im1/255)**0.5+150函數
效果圖爲:工具
from PIL import Image import numpy as np vec_el=np.pi/2.2 vec_az=np.pi/4. depth=7. #顏色的深淺,建議不要寫太大的值,由於會變得很醜 im=np.array(Image.open('D:\\故宮.jpg').convert("L")) a=np.asanyarray(im).astype('float') grad=np.gradient(a) grad_x,grad_y=grad grad_x=grad_x*depth/100. grad_y=grad_y*depth/100. dx=np.cos(vec_el)*np.cos(vec_az) dy=np.cos(vec_el)*np.cos(vec_az) dz=np.sin(vec_el) A=np.sqrt(grad_x**2+grad_y**2+1.) uni_x=grad_x/A uni_y=grad_y/A uni_z=1./A a2=255*(dx*uni_x+dy*uni_y+dz*uni_z) a2=a2.clip(0,255) im2=Image.fromarray(a2.astype('uint8')) im2.save('gugong3.jpg')
好了,在這裏放一下原圖:性能
科學座標繪製ui
import numpy as np import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='SimHei' matplotlib.rcParams['font.sans-serif']=['SimHei'] def Draw(pcolor,nt_point,nt_text,nt_size): plt.plot(x,y,'k',label="$exp_decay$",color=pcolor,\ linewidth=3,linestyle="-") plt.plot(x,z,"b--",label="$cos(x^2)$",linewidth=1) plt.xlabel('時間(s)') plt.ylabel('幅度(mV)') plt.title("阻尼衰減曲線繪製") plt.annotate('$cos(2\pi t)\exp(-t)$',xy=nt_point,\ xytext=nt_text,fontsize=nt_size,arrowprops=\ dict(arrowstyle='->',connectionstyle="arc3,rad=.1")) def Shadow(a, b): ix=(x>a)&(x<b) plt.fill_between(x,y,0,where=ix,facecolor='grey',alpha=0.25) plt.text(0.5*(a+b),0.2,r"$\int_a^b f(x)\mathrm{d}x$",\ horizontalalignment='center') def XY_Axis(x_start,x_end,y_start,y_end): plt.xlim(x_start,x_end) plt.ylim(y_start,y_end) plt.xticks([np.pi/3,2*np.pi/3,1*np.pi,4*np.pi/3,\ 5*np.pi/3],['$\pi/3$','$2\pi/3$','$\pi$','$4\pi/3$','$5\pi/3$']) x=np.linspace(0.0,6.0,100) y=np.cos(2*np.pi*x)*np.exp(-x)+0.8 z=0.5*np.cos(x**2)+0.8 note_point,note_text,note_size=(1,np.cos(2*np.pi)*\ np.exp(-1)+0.8),(1,1.4),14 fig=plt.figure(figsize=(8,6),facecolor='white') plt.subplot(111) Draw("red",note_point,note_text,note_size) XY_Axis(0,5,0,1.8) Shadow(0.8, 3) plt.legend() plt.savefig('sample.jpg') plt.show()
結果圖爲:this