所以我用statsmodels.graphics.gofplots.qqplot()绘制了一个正常的Q-Q图。
模块使用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()
输出图:
最佳答案
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]
很明显,这些点有一点重叠,所以即使它们的alpha值很低,在它们相互叠加的地方,看起来也更不透明。