日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取plt文件吗_用Python读取文件并绘制CDF

發布時間:2025/3/15 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取plt文件吗_用Python读取文件并绘制CDF 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了完整起見,您還應考慮:重復:您可以在數據中多次擁有同一點。

點之間可以有不同的距離

點可以浮動

您可以使用numpy.histogram,以這樣的方式設置箱子邊緣,即每個箱子只收集一個點的所有出現。

您應該保留density=False,因為根據文檔:Note that the sum of the histogram values will not be equal to 1 unless bins of unity width are chosen

您可以規范化每個bin中的元素數除以數據大小。import numpy as np

import matplotlib.pyplot as plt

def cdf(data):

data_size=len(data)

# Set bins edges

data_set=sorted(set(data))

bins=np.append(data_set, data_set[-1]+1)

# Use the histogram function to bin the data

counts, bin_edges = np.histogram(data, bins=bins, density=False)

counts=counts.astype(float)/data_size

# Find the cdf

cdf = np.cumsum(counts)

# Plot the cdf

plt.plot(bin_edges[0:-1], cdf,linestyle='--', marker="o", color='b')

plt.ylim((0,1))

plt.ylabel("CDF")

plt.grid(True)

plt.show()

例如,使用以下數據:#[ 0. 0. 0.1 0.1 0.2 0.2 0.3 0.3 0.4 0.4 0.6 0.8 1. 1.2]

data = np.concatenate((np.arange(0,0.5,0.1),np.arange(0.6,1.4,0.2),np.arange(0,0.5,0.1)))

cdf(data)

你會得到:

還可以對cdf進行插值以獲得連續函數(使用線性插值或三次樣條曲線):import numpy as np

import matplotlib.pyplot as plt

from scipy.interpolate import interp1d

def cdf(data):

data_size=len(data)

# Set bins edges

data_set=sorted(set(data))

bins=np.append(data_set, data_set[-1]+1)

# Use the histogram function to bin the data

counts, bin_edges = np.histogram(data, bins=bins, density=False)

counts=counts.astype(float)/data_size

# Find the cdf

cdf = np.cumsum(counts)

x = bin_edges[0:-1]

y = cdf

f = interp1d(x, y)

f2 = interp1d(x, y, kind='cubic')

xnew = np.linspace(0, max(x), num=1000, endpoint=True)

# Plot the cdf

plt.plot(x, y, 'o', xnew, f(xnew), '-', xnew, f2(xnew), '--')

plt.legend(['data', 'linear', 'cubic'], loc='best')

plt.title("Interpolation")

plt.ylim((0,1))

plt.ylabel("CDF")

plt.grid(True)

plt.show()

總結

以上是生活随笔為你收集整理的python读取plt文件吗_用Python读取文件并绘制CDF的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。