Ash*_*h B 6 python statistics matplotlib statsmodels
所以我正在使用statsmodels.graphics.gofplots.qqplot()绘制一个正常的 QQ 图。
该模块使用 matplotlib.pyplot 创建图形实例。它很好地绘制了图形。
但是,我想用 alpha=0.3 绘制标记。
有没有办法做到这一点?
下面是一个代码示例:
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
test = np.random.normal(0,1, 1000)
sm.qqplot(test, line='45')
plt.show()
Run Code Online (Sandbox Code Playgroud)
和输出图:
您可以使用具有qqplot方法的statsmodels.graphics.gofplots.ProbPlot类来传递 matplotlib pyplot.plot **kwargs。
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
test = np.random.normal(0, 1, 1000)
pp = sm.ProbPlot(test, fit=True)
qq = pp.qqplot(marker='.', markerfacecolor='k', markeredgecolor='k', alpha=0.3)
sm.qqline(qq.axes[0], line='45', fmt='k--')
plt.show()
Run Code Online (Sandbox Code Playgroud)
qqplot
返回一个figure
对象,该对象可用于获取lines
然后可以使用set_alpha
fig = sm.qqplot(test, line='45');
# Grab the lines with blue dots
dots = fig.findobj(lambda x: hasattr(x, 'get_color') and x.get_color() == 'b')
[d.set_alpha(0.3) for d in dots]
Run Code Online (Sandbox Code Playgroud)
显然,您有一些点重叠,因此即使它们的 alpha 值较低,但在它们彼此堆叠的情况下,它们看起来更不透明。
归档时间: |
|
查看次数: |
5800 次 |
最近记录: |