Python繪制趨勢線的示例代碼
趨勢線
趨勢線是用來顯示數(shù)據(jù)趨勢或者預(yù)測未來發(fā)展方向的一種圖形表示方法。在統(tǒng)計學(xué)和數(shù)據(jù)分析中,趨勢線通常是通過擬合數(shù)據(jù)點來找到一條最符合數(shù)據(jù)整體趨勢的直線、曲線或者其他形狀。常見的趨勢線擬合方法包括線性回歸、多項式回歸、指數(shù)平滑等。
趨勢線在金融分析、市場預(yù)測、銷售趨勢分析、科學(xué)研究等領(lǐng)域都有廣泛的應(yīng)用。通過趨勢線,人們可以更清晰地了解數(shù)據(jù)的走勢,從而做出更加準(zhǔn)確的決策。
在圖表中,趨勢線通常以一條穿過數(shù)據(jù)點的曲線或直線的形式呈現(xiàn),使得觀察者可以更容易地識別出數(shù)據(jù)的趨勢方向。
示例代碼
import numpy as np import matplotlib.pyplot as plt # 生成一些示例數(shù)據(jù) x = np.linspace(0, 10, 100) y = 2 * x + np.random.normal(0, 1, 100) # 線性上升的數(shù)據(jù),加入一些噪聲 # 繪制原始曲線 plt.plot(x, y, label='Data') # 使用線性回歸擬合趨勢線 slope, intercept = np.polyfit(x, y, 1) trendline = slope * x + intercept # 繪制趨勢線 plt.plot(x, trendline, color='red', linestyle='--', label='Trendline') # 添加圖例和標(biāo)簽 plt.legend() plt.title('Data with Trendline') plt.xlabel('X') plt.ylabel('Y') # 顯示圖形 plt.show()
結(jié)果展示
補(bǔ)充:橫軸不連續(xù)的趨勢圖
這里主要用到brokenaxes庫,可以使坐標(biāo)軸不連續(xù)。
示例代碼
import numpy as np import matplotlib.pyplot as plt from brokenaxes import brokenaxes # 生成一些示例數(shù)據(jù) x = np.linspace(0, 10, 100) y = 2 * x + np.random.normal(0, 1, 100) # 線性上升的數(shù)據(jù),加入一些噪聲 # 將數(shù)據(jù)分成兩段 x1, y1 = x[:40], y[:40] x2, y2 = x[60:], y[60:] # 創(chuàng)建一個BrokenAxes對象 bax = brokenaxes(xlims=((0, 4), (6, 10)), hspace=0.05) # 繪制第一段趨勢線 slope1, intercept1 = np.polyfit(x1, y1, 1) trendline1 = slope1 * x1 + intercept1 bax.plot(x1, y1, label='Segment 1', color='blue') bax.plot(x1, trendline1, color='red', linestyle='--', label='Trendline 1') # 繪制第二段趨勢線 slope2, intercept2 = np.polyfit(x2, y2, 1) trendline2 = slope2 * x2 + intercept2 bax.plot(x2, y2, label='Segment 2', color='orange') bax.plot(x2, trendline2, color='green', linestyle='--', label='Trendline 2') # 添加標(biāo)題和標(biāo)簽 bax.set_xlabel('X Label') bax.set_ylabel('Y Label') bax.set_title('Data with Trendline (Broken Axes)') # 顯示圖例 bax.legend(loc='lower right') # 顯示圖形 plt.show()
結(jié)果展示
到此這篇關(guān)于Python繪制趨勢線的示例代碼的文章就介紹到這了,更多相關(guān)Python趨勢線內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題
今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06Python+QTimer計時器實現(xiàn)攝像頭視頻的播放和暫停
這篇文章主要為大家詳細(xì)介紹了Python如何通過QTimer計時器實現(xiàn)攝像頭視頻的播放和暫停功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11詳解python selenium 爬取網(wǎng)易云音樂歌單名
這篇文章主要介紹了python selenium爬取網(wǎng)易云音樂歌單名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03