0
私はmatplotlibとscypyを使っていくつかの分布の適合を比較するコードを作った。コードのthats:matplotlib .plot関数描画複数回
listvar = [sessioninterval, playtime, sessiontime, pausetime]
listnames1 = ["Sessioninterval", "Playtime", "Sessiontime", "Pausetime"]
expfit= []
normfit = []
lognormfit = []
for p in listvar:
expfit.append(stats.expon.fit(p, floc = 0))
normfit.append(stats.norm.fit(p))
lognormfit.append(stats.lognorm.fit(p))
for q in range(4):
plt.hist(listvar[q], bins = len(listvar[q]), normed = True, cumulative = True, histtype = "step", color = "black", label = "EDF")
plt.plot(listvar[q],stats.expon.cdf(listvar[q],*expfit[q]) , color = 'blue',label = "Exponencial Fit: " + str(expfit[q]))
plt.plot(listvar[q],stats.norm.cdf(listvar[q], *normfit[q]), '-',color = 'red', label = "Normal Fit: "+ str(normfit[q]))
plt.plot(listvar[q],stats.lognorm.cdf(listvar[q], *lognormfit[q]), '-',color = 'green', label = "Log-Normal Fit: " + str(lognormfit[q]))
plt.title("Probability Fit: " + str(listnames1[q]))
plt.xlabel("Value")
plt.ylabel("Probability")
plt.xlim(min(listvar[q]), max(listvar[q]))
plt.ylim(0,1)
plt.legend(bbox_to_anchor = (1.05,-0.1), fontsize = 10)
plt.gcf().subplots_adjust(bottom=0.24)
plt.savefig("Probability_" + listnames1[q] +".png")
plt.clf()
を、これは結果
なぜこれが起こっているの例ですか?ありがとう!
ポイント( 'listvar [q]')はソートされません。それらを最初に並べ替えるか、plt.scatterを使って点を線で結ばずに描画します。 – VBB
それは働いた!ありがとう。 –