1. 程式人生 > >Matplotlib python 學習筆記1

Matplotlib python 學習筆記1

# %matplotlib qt5       #讓影象顯示在gui裡
# %matplotlib inline    #讓影象顯示在控制檯裡,預設顯示在控制檯

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-10,10,10)  #從-10到10,生成10個數字
# x 不是列表,type(x)=<class 'numpy.ndarray'>,但是類似列表
y1 = 2*x + 1
y2 = x**2
a = [1,2,3,4,5,6,7,8,9,10]
b = [1,2,3,4,5,6,7,8,9,10]
plt.plot(x,y1)
plt.plot(x,y2)
plt.plot(a,b)
plt.plot(a,b,'ro') #注意這兩種方式的不同
plt.show()

在這裡插入圖片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2

plt.figure() # 一個figure表示一張圖,下面的操作都是在這個圖中
plt.title('title')
plt.plot(x,y1)

plt.figure(num=3,figsize=(8,5)) # 再畫一張新圖,下面的操作都在新圖中
plt.plot(x,y2)
plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' ) #引數可設定顏色,線寬,風格等

plt.show()


在這裡插入圖片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2

plt.figure() 
plt.plot(x,y2)
plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' ) 

plt.xlim((-1,2))   # x軸之前是-3到3,現在設定為-1到2
plt.ylim((-2,3))
plt.xlabel('I am x')
plt.ylabel('I am y')

new_ticks = np.linspace(-1,2,5)
#print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.5,-1,1.22,3],
           ['really bad','$\\alpha$','normal','good','really good'])
#引數是兩個列表,內容要一一對應
# 輸出數學符號

plt.show()

在這裡插入圖片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2

plt.figure() 
plt.plot(x,y2)
plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--' ) 

# gca ='get current axis'
ax = plt.gca()                                       #獲取到當前座標軸
ax.spines['right'].set_color('none')           # 將影象的右邊框的顏色設定為透明
ax.spines['top'].set_color('none')             #將上邊框設定顏色透明
ax.xaxis.set_ticks_position('bottom')       #將影象的下邊框設定為x軸
ax.yaxis.set_ticks_position('left')             #將影象的左邊框設定為y軸
ax.spines['bottom'].set_position(('data',1)) #將影象的x軸放在y軸的位置1
ax.spines['left'].set_position(('data',0))      #將影象的y軸放在x軸的位置0

plt.show()

在這裡插入圖片描述

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)
y1 = 2*x + 1
y2 = x**2

plt.figure() 
l1, = plt.plot(x,y2,label='up')
l2, = plt.plot(x, y1, color='red',linewidth = 2.0, linestyle='--',label='down')

#plt.legend(handles=[l1,l2], labels=['aaa','bbb'],loc='best')  #列印兩條線的圖例
plt.legend(handles=[l1,l2], labels=['aaa',],loc='best')  #只打印一條線的圖例

# loc ='upper left','upper right','lower left','lower right'


plt.show()

在這裡插入圖片描述