Python繪制趨勢(shì)線的示例代碼
趨勢(shì)線
趨勢(shì)線是用來(lái)顯示數(shù)據(jù)趨勢(shì)或者預(yù)測(cè)未來(lái)發(fā)展方向的一種圖形表示方法。在統(tǒng)計(jì)學(xué)和數(shù)據(jù)分析中,趨勢(shì)線通常是通過(guò)擬合數(shù)據(jù)點(diǎn)來(lái)找到一條最符合數(shù)據(jù)整體趨勢(shì)的直線、曲線或者其他形狀。常見(jiàn)的趨勢(shì)線擬合方法包括線性回歸、多項(xiàng)式回歸、指數(shù)平滑等。
趨勢(shì)線在金融分析、市場(chǎng)預(yù)測(cè)、銷售趨勢(shì)分析、科學(xué)研究等領(lǐng)域都有廣泛的應(yīng)用。通過(guò)趨勢(shì)線,人們可以更清晰地了解數(shù)據(jù)的走勢(shì),從而做出更加準(zhǔn)確的決策。
在圖表中,趨勢(shì)線通常以一條穿過(guò)數(shù)據(jù)點(diǎn)的曲線或直線的形式呈現(xiàn),使得觀察者可以更容易地識(shí)別出數(shù)據(jù)的趨勢(shì)方向。
示例代碼
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') # 使用線性回歸擬合趨勢(shì)線 slope, intercept = np.polyfit(x, y, 1) trendline = slope * x + intercept # 繪制趨勢(shì)線 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ù)的趨勢(shì)圖
這里主要用到brokenaxes庫(kù),可以使坐標(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)建一個(gè)BrokenAxes對(duì)象 bax = brokenaxes(xlims=((0, 4), (6, 10)), hspace=0.05) # 繪制第一段趨勢(shì)線 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') # 繪制第二段趨勢(shì)線 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繪制趨勢(shì)線的示例代碼的文章就介紹到這了,更多相關(guān)Python趨勢(shì)線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問(wèn)題
今天小編就為大家分享一篇解決Python內(nèi)層for循環(huán)如何break出外層的循環(huán)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python+QTimer計(jì)時(shí)器實(shí)現(xiàn)攝像頭視頻的播放和暫停
這篇文章主要為大家詳細(xì)介紹了Python如何通過(guò)QTimer計(jì)時(shí)器實(shí)現(xiàn)攝像頭視頻的播放和暫停功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11python3 實(shí)現(xiàn)自定義切片類為左閉右閉詳情
這篇文章主要介紹了python3 實(shí)現(xiàn)自定義切片類為左閉右閉詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2021-12-12詳解python selenium 爬取網(wǎng)易云音樂(lè)歌單名
這篇文章主要介紹了python selenium爬取網(wǎng)易云音樂(lè)歌單名,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03