利用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'] # 計算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有什么可選的標識
在matplotlib庫中,plt.plot函數(shù)的marker參數(shù)用于指定在圖上繪制數(shù)據(jù)點的標識符。這些標識符可以幫助你在圖中更清晰地標記數(shù)據(jù)點的位置。以下是一些常用的marker參數(shù)及其對應(yīng)的標識符:
'.': 小點
',': 像素
'o': 圓圈
'v': 倒三角
'^': 正三角
'<': 左箭頭
'>': 右箭頭
'1': 下箭頭
'2': 上箭頭
's': 正方形
'p': 五角星
'*': 星號
'h': 六邊形1
'H': 六邊形2
'|': 垂直線
'_': 水平線
你可以在plt.plot函數(shù)中使用這些標識符來改變數(shù)據(jù)點的外觀。例如,如果要在繪制的線上使用圓圈作為數(shù)據(jù)點的標識,可以這樣設(shè)置:
plt.plot(x_data, y_data, marker='o')
其中,x_data和y_data分別是你要繪制的數(shù)據(jù)的X和Y值。根據(jù)需要,你可以選擇不同的標識符來突出顯示數(shù)據(jù)點。
三、方法補充
當然除了上文方法,小編還為大家整理了其他實現(xiàn)繪制CDF圖的方法,希望對大家有所幫助
方法一
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) % 當有多個CDF曲線,對曲線進行標注 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法
本篇文章主要介紹了PyTorch上實現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)CNN的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04快速掌握python權(quán)限功能設(shè)計實戰(zhàn)指南
在處理權(quán)限控制時,裝飾器能幫助我們以一種統(tǒng)一且簡潔的方式管理不同用戶對系統(tǒng)資源的訪問權(quán)限,本文將通過幾個簡單的示例逐步展示如何利用Python裝飾器實現(xiàn)從基礎(chǔ)到復雜的權(quán)限控制功能2024-01-01python將pandas datarame保存為txt文件的實例
今天小編就為大家分享一篇python將pandas datarame保存為txt文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02python中ImageTk.PhotoImage()不顯示圖片卻不報錯問題解決
這篇文章主要給大家介紹了關(guān)于在python中ImageTk.PhotoImage()不顯示圖片卻不報錯問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-12-12Python使用smtplib模塊發(fā)送電子郵件的流程詳解
Python中自帶的smtplib模塊可以進行基于SMTP協(xié)議的郵件操作,這里我們便總結(jié)了Python使用smtplib模塊發(fā)送電子郵件的流程詳解,并對一些常見的問題給出了解決方法:2016-06-06