在 python 中整齐地绘制 PMF
Plotting PMF neatly in python
有没有一个库可以帮助我巧妙地绘制 python 中样本的概率质量函数,如下所示:
通过matplotlib.pyplot的词干模块
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()
我觉得这个够整洁了,
这是代码:
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
有没有一个库可以帮助我巧妙地绘制 python 中样本的概率质量函数,如下所示:
通过matplotlib.pyplot的词干模块
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()
我觉得这个够整洁了,
这是代码:
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