【发布时间】:2017-12-06 03:31:03
【问题描述】:
import matplotlib.image as mpimg
from scipy.spatial import distance
import matplotlib.patches as mpatches
import pylab
import matplotlib.mlab as mlab
import scipy.stats as ss
fig = plt.figure(num=None, figsize=(9, 7), facecolor='w', edgecolor='k')
ax = fig.add_subplot(111)
plt.hist(h, bins=30, normed=True) #h is the data
我想添加一条趋势线来反映直方图。以反映每个 bin 的峰值。所以尝试了 fuglede 的建议,使用 seaborn,我得到了一些非常奇怪的东西。
我不知道为什么突然进口了 seaborn,我的情节出现了那些奇怪的灰色网格。我正在使用 Sypder 顺便说一句。 其次,我想要一个平稳的喜欢,而不是像我现在的那样只是上下波动。
【问题讨论】:
-
您想如何计算“趋势线”?某些功能适合数据?绘制每个箱的峰值?请更新您的问题。
-
最初,我将它拟合成高斯,但被拒绝了。我被告知只绘制一个直方图,实际上趋势线应该反映每个 bin 的峰值。
-
然后使用从
plt.hist()返回的值在另一行中绘制峰值。或者按照@fuglede 回答中的建议,比较合理。 -
谢谢,我试过seaborn,但很奇怪。
-
Seaborn 在导入时会做很多样式,这就是网格线的来源。查看
seaborn.set_style()了解如何更改。至于为什么 KDE 如此“坎坷”,那是因为内核尺寸太小了。这由bw关键字参数控制到seaborn.kdeplot()。
标签: python matplotlib histogram