我是新来的,通常来自R,我想创造一个QQ情节多行。
我有一个贝塔分布的数据集,我想尝试不同的参数,为贝塔分布,并比较他们在,1,,QQ-绘图,以更好的比较。如果我尝试下面的代码,每个情节都有相同的颜色,我有3条QQ线。有没有可能把这三个QQ情节合并成一个呢?
我希望你能理解我的问题
import scipy.stats as stats
import numpy
x=numpy.random.beta(2, 3, size=100)
stats.probplot(x, dist=stats.beta, sparams=(2,3),plot=plt,fit=False)
stats.probplot(x, dist=stats.beta, sparams=(1,2),plot=plt,fit=False)
stats.probplot(x, dist=stats.beta, sparams=(1,4),plot=plt,fit=False)善良的毕业生
发布于 2019-03-14 11:18:56
好吧,所以stats.probplot让我有点困惑。文件明确指出:
probplot生成概率图,不应与Q-Q或P图混淆.
然而,我能找到的所有资料都表明,概率图是指Q-Q图或P图。去想一想。
无论如何,就我而言,你所生成的是一个Q-Q图。
在我看来,选项fit=False of stats.probplot也被忽略了,并且总是在数据中添加一条回归线。
无论如何,为了得到您想要的,我们可以显式地创建matplotlib轴实例,并使用get_lines方法删除不想要的回归线并更改标记颜色。
import scipy.stats as stats
import numpy as np
import matplotlib.pyplot as plt
plt.style.use('seaborn')
x = numpy.random.beta(2, 3, size=100)
fig, ax = plt.subplots(1, 1, figsize=(6, 4))
stats.probplot(x, dist=stats.beta, sparams=(2,3), plot=plt, fit=False)
stats.probplot(x, dist=stats.beta, sparams=(1,2), plot=plt, fit=False)
stats.probplot(x, dist=stats.beta, sparams=(1,4), plot=plt, fit=False)
# Remove the regression lines
ax.get_lines()[1].remove()
ax.get_lines()[2].remove()
ax.get_lines()[3].remove()
# Change colour of scatter
ax.get_lines()[0].set_markerfacecolor('C0')
ax.get_lines()[1].set_markerfacecolor('C1')
ax.get_lines()[2].set_markerfacecolor('C2')
# Add on y=x line
ax.plot([0, 1], [0, 1], c='C3')这给了我以下几点,我认为这一次真的是你想要的:

https://stackoverflow.com/questions/55142882
复制相似问题