我正在嘗試創建一個可以用作任何串列的直方圖和資料圖的類。我的計算運行良好,但繪圖方法似乎不起作用。我真的很感謝你在這里的幫助:)
from matplotlib import pyplot as plt
class BasicStatistics:
def __init__(self, list):
self.list = list
def mean(self):
return sum(self.list) / len(self.list)
def median(self):
self.list.sort()
if len(self.list) % 2 == 1:
return self.list[len(self.list) // 2]
else:
return (self.list[len(self.list) // 2 - 1] self.list[len(self.list) // 2]) / 2
def var(self):
avg = self.mean()
var = sum((x - avg) ** 2 for x in self.list) / len(self.list)
return var
def std_dev(self):
vari = self.var()
std_dev = (vari) ** (1 / 2)
return std_dev
def norma(self):
return [(i-self.mean()) / self.var() for i in self.list]
def plot(self):
fig, (axs1,axs2,axs3) = plt.subplots(2)
axs1.hist(self.list)
axs1.axvline(self.mean, color='red')
axs1.axvline(self.median, color='black')
axs1.axvline(self.mean - self.std_dev(), color='green')
axs1.axvline(self.mean self.std_dev(), color='green')
axs2.plot(lst)
plt.show()
uj5u.com熱心網友回復:
這是一個產生情節的版本,但我不確定它是否是你想要的。請參閱我對已識別錯誤的問題的評論。
請注意,stackoverflow 是針對特定問題的,而不是其他人除錯代碼的地方。您的問題可能最終會被洗掉。
from matplotlib import pyplot as plt
class BasicStatistics:
def __init__(self, list):
self.list = list
def mean(self):
return sum(self.list) / len(self.list)
def median(self):
self.list.sort()
if len(self.list) % 2 == 1:
return self.list[len(self.list) // 2]
else:
return (self.list[len(self.list) // 2 - 1] self.list[len(self.list) // 2]) / 2
def var(self):
avg = self.mean()
var = sum((x - avg) ** 2 for x in self.list) / len(self.list)
return var
def std_dev(self):
vari = self.var()
std_dev = (vari) ** (1 / 2)
return std_dev
def norma(self):
return [(i-self.mean()) / self.var() for i in self.list]
def plot(self):
fig, (axs1,axs2) = plt.subplots(2)
axs1.hist(self.list)
axs1.axvline(self.mean(), color='red')
axs1.axvline(self.median(), color='black')
axs1.axvline(self.mean() - self.std_dev(), color='green')
axs1.axvline(self.mean() self.std_dev(), color='green')
axs2.plot(self.list)
plt.show()
aa = BasicStatistics([1,7,3, 4, 5, 3, 2])
aa.plot()

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/438501.html
標籤:Python 班级 matplotlib 目的
