用matplotlib作圖——顏色與線型控制
1)控制顏色
顏色之間的對應關係為
b---blue c---cyan g---green k----black
m---magenta r---red w---white y----yellow
有三種表示顏色的方式:
a:用全名 b:16進位制如:#FF00FF c:RGB或RGBA元組(1,0,1,1) d:灰度強度如:‘0.7’
2)控制線型
符號和線型之間的對應關係
- 實線
-- 短線
-. 短點相間線
: 虛點線
3)控制標記風格
標記風格有多種:
. Point marker
, Pixel marker
o Circle marker
v Triangle down marker
^ Triangle up marker
< Triangle left marker
> Triangle right marker
1 Tripod down marker
2 Tripod up marker
3 Tripod left marker
4 Tripod right marker
s Square marker
p Pentagon marker
* Star marker
h Hexagon marker
H Rotated hexagon D Diamond marker
d Thin diamond marker
| Vertical line (vlinesymbol) marker
_ Horizontal line (hline symbol) marker
+ Plus marker
x Cross (x) marker
各種函式實戰:
import math
import numpy as np
#import pandas as pd
import matplotlib as mp1
import matplotlib.pyplot as plt
mp1.rcParams['font.sans-serif']=[u'kaiti']
mp1.rcParams['axes.unicode_minus']=False
'''mu =0
s=1
x=np.linspace(mu-3*s,mu+3*s,50)
y=np.exp(-(x -mu)**2/(2*s**2))/(math.sqrt(2*math.pi)*s)
print(x.shape)
print('x=\n',x)
print(y.shape)
print('y=\n',y)
plt.figure(facecolor='w')
plt.plot(x,y,'y-',x,y,'go',linewidth=2,markersize=5)
plt.xlabel('X',fontsize=15)
plt.ylabel('Y',fontsize=15)
plt.title('高斯分佈',fontsize=18)
plt.grid(1)
plt.savefig('1.png')
plt.show()
def f(x):
y=np.ones_like(x)
i =x>0
y[i]=np.power(x[i],x[i])
i=x<0
y[i]=np.power(-x[i],-x[i])
return y
x=np.linspace(-1,1,101)
y=f(x)
plt.plot(x,y,'g-',label='X^X',linewidth=2)
plt.grid(1)
plt.legend(loc='upper left')
plt.savefig('溝函式.jpg')
plt.show()
x=np.arange(1,0,-0.001)
y=(-3*x*np.log(x)+np.exp(-(40*(x-1/np.e))**4)/25)/2
plt.figure(figsize=(5,7))
plt.plot(y,x,'r-',linewidth=2)
plt.grid(1)
plt.savefig('胸函式.jpg')
plt.show()
t=np.linspace(0,7,100)
x=16*np.sin(t)**3
y=13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
plt.plot(x,y,'r-',linewidth=2)
plt.grid(1)
plt.savefig('心形線.jpg')
plt.show()'''
t=np.linspace(0,50,1000)
x=t*np.sin(t)+np.cos(t)
y=np.sin(t)-t*np.cos(t)
plt.plot(x,y,'k-',linewidth=5)
plt.grid(1)
plt.savefig('蚊香線.jpg')
plt.show()