利用python繪制CDF圖的示例代碼
一、code
import os.path import pandas as pd import numpy as np import matplotlib.pyplot as plt csv_path = r"XXX.csv" save_fig_path = os.path.join(os.path.split(csv_path)[0], "metrics_cdf.png") # 從CSV讀取數(shù)據(jù) data = pd.read_csv(csv_path)['XXX'] # 計(jì)算CDF data_sorted = np.sort(data)[::-1] cdf = np.arange(1, len(data_sorted)+1) / len(data_sorted) # 繪制CDF圖 plt.plot(data_sorted, cdf, linewidth=2) # marker='.', plt.xlabel('Value') plt.ylabel('CDF') plt.xticks(np.arange(0, 1.1, 0.1)) plt.yticks(np.arange(0, 1.1, 0.1)) plt.title('Cumulative Distribution Function (CDF)') plt.grid(True) plt.savefig(save_fig_path) plt.show()
二、plt.plot的marker有什么可選的標(biāo)識(shí)
在matplotlib庫(kù)中,plt.plot函數(shù)的marker參數(shù)用于指定在圖上繪制數(shù)據(jù)點(diǎn)的標(biāo)識(shí)符。這些標(biāo)識(shí)符可以幫助你在圖中更清晰地標(biāo)記數(shù)據(jù)點(diǎn)的位置。以下是一些常用的marker參數(shù)及其對(duì)應(yīng)的標(biāo)識(shí)符:
'.': 小點(diǎn)
',': 像素
'o': 圓圈
'v': 倒三角
'^': 正三角
'<': 左箭頭
'>': 右箭頭
'1': 下箭頭
'2': 上箭頭
's': 正方形
'p': 五角星
'*': 星號(hào)
'h': 六邊形1
'H': 六邊形2
'|': 垂直線
'_': 水平線
你可以在plt.plot函數(shù)中使用這些標(biāo)識(shí)符來(lái)改變數(shù)據(jù)點(diǎn)的外觀。例如,如果要在繪制的線上使用圓圈作為數(shù)據(jù)點(diǎn)的標(biāo)識(shí),可以這樣設(shè)置:
plt.plot(x_data, y_data, marker='o')
其中,x_data和y_data分別是你要繪制的數(shù)據(jù)的X和Y值。根據(jù)需要,你可以選擇不同的標(biāo)識(shí)符來(lái)突出顯示數(shù)據(jù)點(diǎn)。
三、方法補(bǔ)充
當(dāng)然除了上文方法,小編還為大家整理了其他實(shí)現(xiàn)繪制CDF圖的方法,希望對(duì)大家有所幫助
方法一
import numpy as np import statsmodels.api as sm import matplotlib.pyplot as plt data = [] ecdf = sm.distributions.ECDF(data) x = np.linspace(min(data), max(data)) y = ecdf(x) for a, b in zip(x, y): print(a, b) plt.plot(x, y, linewidth='5', label='XX', color="green", linestyle="dashed") plt.xlabel('XX', fontsize = 15) plt.ylabel('CDF', fontsize=15) plt.xlim(0, 1500) plt.ylim(0, 1) plt.xticks(fontsize=14) plt.yticks(fontsize=14) # plt.legend(loc='lower right', fontsize = 17) % 當(dāng)有多個(gè)CDF曲線,對(duì)曲線進(jìn)行標(biāo)注 plt.show()
方法二
利用Matplotlib繪制CDF圖
import matplotlib.pyplot as plt import numpy as np from scipy import stats data = np.random.normal(size=1000) plt.plot(sorted(data), stats.norm.cdf(sorted(data))) plt.show()
到此這篇關(guān)于利用python繪制CDF圖的示例代碼的文章就介紹到這了,更多相關(guān)python CDF圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyTorch上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法
本篇文章主要介紹了PyTorch上實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04快速掌握python權(quán)限功能設(shè)計(jì)實(shí)戰(zhàn)指南
在處理權(quán)限控制時(shí),裝飾器能幫助我們以一種統(tǒng)一且簡(jiǎn)潔的方式管理不同用戶(hù)對(duì)系統(tǒng)資源的訪問(wèn)權(quán)限,本文將通過(guò)幾個(gè)簡(jiǎn)單的示例逐步展示如何利用Python裝飾器實(shí)現(xiàn)從基礎(chǔ)到復(fù)雜的權(quán)限控制功能2024-01-01python將pandas datarame保存為txt文件的實(shí)例
今天小編就為大家分享一篇python將pandas datarame保存為txt文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02python中ImageTk.PhotoImage()不顯示圖片卻不報(bào)錯(cuò)問(wèn)題解決
這篇文章主要給大家介紹了關(guān)于在python中ImageTk.PhotoImage()不顯示圖片卻不報(bào)錯(cuò)問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12Python實(shí)現(xiàn)類(lèi)別變量的獨(dú)熱編碼
這篇文章主要為大家詳細(xì)介紹了基于Python下OneHotEncoder與pd.get_dummies兩種方法,實(shí)現(xiàn)機(jī)器學(xué)習(xí)中最優(yōu)的編碼方法——獨(dú)熱編碼的方法,需要的可以參考一下2023-02-02Python使用smtplib模塊發(fā)送電子郵件的流程詳解
Python中自帶的smtplib模塊可以進(jìn)行基于SMTP協(xié)議的郵件操作,這里我們便總結(jié)了Python使用smtplib模塊發(fā)送電子郵件的流程詳解,并對(duì)一些常見(jiàn)的問(wèn)題給出了解決方法:2016-06-06