【问题标题】:Plotting PMF neatly in python在 python 中巧妙地绘制 PMF
【发布时间】:2015-02-12 17:54:28
【问题描述】:

是否有一个库可以帮助我在 python 中巧妙地绘制样本的概率质量函数,如下所示:

【问题讨论】:

标签: python matplotlib plot


【解决方案1】:

通过 matplotlib.pyplot 的 stem 模块

matplotlib.pyplot.stem(*args, **kwargs)

from matplotlib.pyplot import stem

stem(y, linefmt='b-', markerfmt='bo', basefmt='r-')
stem(x, y, linefmt='b-', markerfmt='bo', basefmt='r-')

或更接近金属

#!/usr/bin/env python
from pylab import *

x = linspace(0.1, 2*pi, 10)
markerline, stemlines, baseline = stem(x, cos(x), '-.')
setp(markerline, 'markerfacecolor', 'b')
setp(baseline, 'color','r', 'linewidth', 2)

show()

Here

【讨论】:

    【解决方案2】:

    我觉得这个已经够简洁了,

    这是代码:

    from scipy import stats
    import matplotlib.pyplot as plt
    import numpy as np
    
    
    xk = np.arange(7)
    pk = (0.1, 0.2, 0.3, 0.1, 0.1, 0.0, 0.2)
    custm = stats.rv_discrete(name='custm', values=(xk, pk))
    
    fig, ax = plt.subplots(1, 1)
    ax.plot(xk, custm.pmf(xk), 'ro', ms=8, mec='r')
    ax.vlines(xk, 0, custm.pmf(xk), colors='r', linestyles='-', lw=2)
    plt.title('Custom made discrete distribution(PMF)')
    plt.ylabel('Probability')
    plt.show()
    

    参考,https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rv_discrete.html

    【讨论】:

      猜你喜欢
      • 2013-03-02
      • 2015-03-11
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      • 2022-01-11
      • 1970-01-01
      • 2016-10-13
      • 2019-04-27
      相关资源
      最近更新 更多