PHP前端开发

如何用线连接概率图的标记

百变鹏仔 1天前 #Python
文章标签 概率
问题内容

我使用的是 python 版本 3.11.1,并且我使用下面的代码使用 matplotlib.pyplot 创建了概率图。我想自动用一条线连接标记,但 probplot 的文档似乎没有连接它们的选项。

这是我的示例代码:

import numpy as npfrom scipy import statsimport matplotlib.pyplot as pltnsample = 20np.random.seed(100)fig = plt.figure()ax = fig.add_subplot(111)x = stats.t.rvs(3, size=nsample)res = stats.probplot(x, plot=plt)ax.get_lines()[0].set_markeredgecolor('b')ax.get_lines()[0].set_markerfacecolor('b')plt.show()

这是示例代码生成的图:

这是带有与“手动绘制”线连接的标记的图,向您展示我需要代码自动执行的所有操作。


正确答案


由于结果实际上似乎给出了点的坐标,因此您可以简单地使用:

ax.plot(*res[0])

...或者更好的是,只需自己创建整个情节,然后您就可以完全控制如何设计它的样式:

import numpy as npfrom scipy import statsimport matplotlib.pyplot as pltnsample = 20np.random.seed(100)x = stats.t.rvs(3, size=nsample)(res_x, res_y), (slope, intercept, r) = stats.probplot(x)f, ax = plt.subplots()ax.plot(res_x, res_y, c="b", marker="o")ax.plot(res_x, intercept + slope * res_x, c="r")