2018年1月17日 星期三

matplotlib ---- figure8 #調整坐標軸

#調整坐標軸
#設置不同名字和位置
#使用import導入模組matplotlib.pyplot,並簡寫成plt
#使用import導入模組numpy,並簡寫成np
import matplotlib.pyplot as plt
import numpy as np

#使用np.linspace定義x:範圍是(-3,3);個數是50.
#模擬一維資料組(x ,y1)表示曲線1.
#模擬一維資料組(x ,y2)表示曲線2.
x = np.linspace(-3, 3, 50)
y1 = 2*x + 1
y2 = x**2

#使用plt.figure定義一個圖像視窗.
#使用plt.plot畫(x ,y2)曲線.
#使用plt.plot畫(x ,y1)曲線,
#曲線的顏色屬性(color)為紅色;
#曲線的寬度(linewidth)為1.0;
#曲線的類型(linestyle)為虛線.
#使用plt.xlim設置x坐標軸範圍:(-1, 2);
#使用plt.ylim設置y坐標軸範圍:(-2, 3);
plt.figure()
plt.plot(x, y2)
plt.plot(x, y1, color='red', linewidth=1.0, linestyle='--')
plt.xlim((-1, 2))
plt.ylim((-2, 3))

#使用np.linspace定義範圍以及個數:範圍是(-1,2);個數是5.
#使用plt.xticks設置x軸刻度:範圍是(-1,2);個數是5.
#使用plt.yticks設置y軸刻度以及名稱:刻度為[-2, -1.8, -1, 1.22, 3];
#對應刻度的名稱為[‘really bad’,’bad’,’normal’,’good’, ‘really good’].
new_ticks = np.linspace(-1, 2, 5)
plt.xticks(new_ticks)
plt.yticks([-2, -1.8, -1, 1.22, 3],['$really\ bad$', '$bad$', '$normal$', '$good$', '$really\ good$'])

#使用plt.gca獲取當前坐標軸資訊.
#使用.spines設置邊框:右側邊框;
#使用.set_color設置邊框顏色:默認白色;
#使用.spines設置邊框:上邊框;
#使用.set_color設置邊框顏色:默認白色;
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

#使用.xaxis.set_ticks_position設置x座標刻度數字或名稱的位置:bottom.
#(所有位置:top,bottom,both,default,none)
ax.xaxis.set_ticks_position('bottom')

#使用.spines設置邊框:x軸;
#使用.set_position設置邊框位置:y=0的位置;(位置所有屬性:outward,axes,data)
ax.spines['bottom'].set_position(('data', 0))

#使用.yaxis.set_ticks_position設置y座標刻度數字或名稱的位置:left.
#(所有位置:left,right,both,default,none)
ax.yaxis.set_ticks_position('left')

#使用.spines設置邊框:y軸;
#使用.set_position設置邊框位置:x=0的位置;
#(位置所有屬性:outward,axes,data)
#使用plt.show顯示圖像.
ax.spines['left'].set_position(('data',0))
plt.show()



沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...