我有此代码
eval
哪个给我这张图
和此代码
df1 = df['T1'].values
df1 = df1 [~np.isnan(df1 )].tolist()
plt.hist(df1 , bins='auto', range=(0,100))
plt.show()
这给了我
有什么方法可以将直方图转换为曲线,然后将它们组合在一起?
类似这样的东西
答案 0 :(得分:4)
可能,您想绘制这样的步骤
import numpy as np
import matplotlib.pyplot as plt
d1 = np.random.rayleigh(30, size=9663)
d2 = np.random.rayleigh(46, size=8083)
plt.hist(d1 , bins=np.arange(100), histtype="step")
plt.hist(d2 , bins=np.arange(100), histtype="step")
plt.show()
答案 1 :(得分:1)
您可以使用np.histogram
:
import numpy as np
from matplotlib import pyplot as plt
fig, ax = plt.subplots()
chisq = np.random.chisquare(3, 1000)
norm = np.random.normal(10, 4, 1000)
chisq_counts, chisq_bins = np.histogram(chisq, 50)
norm_counts, norm_bins = np.histogram(norm, 50)
ax.plot(chisq_bins[:-1], chisq_counts)
ax.plot(norm_bins[:-1], norm_counts)
plt.show()
在您的数据有异常值的特定情况下,我们需要在绘制之前先剪裁:
clipped_df1 = np.clip(df1, 0, 100)
clipped_df2 = np.clip(df2, 0, 100)
# continue plotting