Python 单厚尾原木装箱

Python 单厚尾原木装箱,python,numpy,matplotlib,networkx,binning,Python,Numpy,Matplotlib,Networkx,Binning,我试图简化从 输出同时显示原始分布和日志装箱分布。然而,后者并不像人们想象的那样单调递减,并且与原始值有很大的偏差。 这个问题的最佳解决方案是什么 import networkx as nx import matplotlib.pyplot as plt import numpy as np m = 3 N = 900 G = nx.barabasi_albert_graph(N, m) degree_list=nx.degree(G).values() kmin=min(degree_

我试图简化从 输出同时显示原始分布和日志装箱分布。然而,后者并不像人们想象的那样单调递减,并且与原始值有很大的偏差。 这个问题的最佳解决方案是什么

import networkx as nx
import matplotlib.pyplot as plt
import numpy as np

m = 3
N = 900

G = nx.barabasi_albert_graph(N, m)

degree_list=nx.degree(G).values()

kmin=min(degree_list)
kmax=max(degree_list)

bins=[float(k-0.5) for k in range(kmin,kmax+2,1)]
density, binedges = np.histogram(degree_list, bins=bins, density=True)
bins = np.delete(bins, -1)

logBins = np.logspace(np.log10(kmin), np.log10(kmax),num=20)
logBinDensity, binedges = np.histogram(degree_list, bins=logBins, density=True)
logBins = np.delete(logBins, -1)

fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xscale('log')
ax.set_yscale('log')

plt.plot(bins,density,'x',color='black')
plt.plot(logBins,logBinDensity,'x',color='blue')
plt.show()

噪声是由于N的较小,而较小值的偏移是由于logbin宽度小于1。加

for x in range(len(logBins)):
    logBins[x] = mt.ceil(logBins[x])

我不明白你在问什么,如图所示,日志存储分布不正确。这对我来说并不明显。在这两种情况下,箱子的宽度是不同的,因此它们不会精确匹配,也不会出现噪声,即单调递减。尝试使用
步骤绘制它们。中的最后一幅图像显示了我试图实现的目标。日志箱值应与薄零件中的原始值位于同一条线上。我不明白为什么它们会这么高。