如何用线连接概率图的标记
问题内容
我使用的是 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")