很多時候我們數據處理的時候要畫坐標圖,下面我用第三方庫matplotlib以及scipy繪制光滑的曲線圖
需要安裝的庫有 matplotlib,scipy, numpy
import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.axisartist.axislines import Subplotfrom scipy import interpolatedef sommth_plot(x_arr, y_arr): fig = plt.figure() # 創建一個figure ax = Subplot(fig, 111) # 利用Subplot將figure加入ax fig.add_axes(ax) ax.axis['bottom'].set_axisline_style("->", size=1.5) # x軸加上箭頭 ax.axis['left'].set_axisline_style("->", size=1.5) # y軸加上上箭頭 ax.axis['top'].set_visible(False) # 去除上方坐標軸 ax.axis['right'].set_visible(False) # 去除右邊坐標軸 xmin = min(x_arr) xmax = max(x_arr) xnew = np.arange(xmin, xmax, 0.0005) # 在最大最小值間以間隔為0.0005插入點 func = interpolate.interp1d(x_arr, y_arr) ynew = func(xnew) # 得到插入x對應的y值 plt.plot(xnew, ynew, '-') # 繪制圖像 plt.show() # show圖像if __name__ == '__main__': x = eval(input('輸入x:')) y = eval(input('輸入y:')) smooth_plot(x, y)
如果想進一步完善你的圖像,可以用以下代碼
# 設置圖像標題plt.title('title')# 設置x范圍,y同理plt.xlim(1, 4)# 給x,y軸添加說明plt.xlabel('x')plt.ylabel('y')# 設置線條的顏色,寬度,線條樣式,標志以及曲線的標簽plt.plot(x, y, color='blue', linewidth=1.0, line, marker='o', label='')# 如果傳遞了label參量,則使用下面函數使標簽顯示,loc選擇位置,frameon=True標簽會在一個框內plt.legend(loc='upper left', frameon=True)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持IIS7站長之家。
新聞熱點
疑難解答