利用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庫中,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í)符來改變數(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í)符來突出顯示數(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的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
快速掌握python權(quán)限功能設(shè)計(jì)實(shí)戰(zhàn)指南
在處理權(quán)限控制時(shí),裝飾器能幫助我們以一種統(tǒng)一且簡(jiǎn)潔的方式管理不同用戶對(duì)系統(tǒng)資源的訪問權(quán)限,本文將通過幾個(gè)簡(jiǎn)單的示例逐步展示如何利用Python裝飾器實(shí)現(xiàn)從基礎(chǔ)到復(fù)雜的權(quán)限控制功能2024-01-01
python將pandas datarame保存為txt文件的實(shí)例
今天小編就為大家分享一篇python將pandas datarame保存為txt文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-02-02
python中ImageTk.PhotoImage()不顯示圖片卻不報(bào)錯(cuò)問題解決
這篇文章主要給大家介紹了關(guān)于在python中ImageTk.PhotoImage()不顯示圖片卻不報(bào)錯(cuò)問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Python實(shí)現(xiàn)類別變量的獨(dú)熱編碼
這篇文章主要為大家詳細(xì)介紹了基于Python下OneHotEncoder與pd.get_dummies兩種方法,實(shí)現(xiàn)機(jī)器學(xué)習(xí)中最優(yōu)的編碼方法——獨(dú)熱編碼的方法,需要的可以參考一下2023-02-02
Python使用smtplib模塊發(fā)送電子郵件的流程詳解
Python中自帶的smtplib模塊可以進(jìn)行基于SMTP協(xié)議的郵件操作,這里我們便總結(jié)了Python使用smtplib模塊發(fā)送電子郵件的流程詳解,并對(duì)一些常見的問題給出了解決方法:2016-06-06

