很多時(shí)候我們數(shù)據(jù)處理的時(shí)候要畫(huà)坐標(biāo)圖,下面我用第三方庫(kù)matplotlib以及scipy繪制光滑的曲線圖
需要安裝的庫(kù)有 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() # 創(chuàng)建一個(gè)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) # 去除上方坐標(biāo)軸 ax.axis['right'].set_visible(False) # 去除右邊坐標(biāo)軸 xmin = min(x_arr) xmax = max(x_arr) xnew = np.arange(xmin, xmax, 0.0005) # 在最大最小值間以間隔為0.0005插入點(diǎn) func = interpolate.interp1d(x_arr, y_arr) ynew = func(xnew) # 得到插入x對(duì)應(yīng)的y值 plt.plot(xnew, ynew, '-') # 繪制圖像 plt.show() # show圖像if __name__ == '__main__': x = eval(input('輸入x:')) y = eval(input('輸入y:')) smooth_plot(x, y)如果想進(jìn)一步完善你的圖像,可以用以下代碼
# 設(shè)置圖像標(biāo)題plt.title('title')# 設(shè)置x范圍,y同理plt.xlim(1, 4)# 給x,y軸添加說(shuō)明plt.xlabel('x')plt.ylabel('y')# 設(shè)置線條的顏色,寬度,線條樣式,標(biāo)志以及曲線的標(biāo)簽plt.plot(x, y, color='blue', linewidth=1.0, line, marker='o', label='')# 如果傳遞了label參量,則使用下面函數(shù)使標(biāo)簽顯示,loc選擇位置,frameon=True標(biāo)簽會(huì)在一個(gè)框內(nèi)plt.legend(loc='upper left', frameon=True)以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持IIS7站長(zhǎng)之家。
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注