Maison >développement back-end >Tutoriel Python >Comment connecter les marqueurs du tracé de probabilité avec des lignes

Comment connecter les marqueurs du tracé de probabilité avec des lignes

王林
王林avant
2024-02-06 08:51:04756parcourir

Comment connecter les marqueurs du tracé de probabilité avec des lignes

Contenu de la question

J'utilise Python version 3.11.1 et j'ai créé un tracé de probabilité en utilisant matplotlib.pyplot en utilisant le code ci-dessous. Je souhaite connecter automatiquement les marqueurs avec une ligne, mais la documentation de probplot ne semble pas avoir d'option pour les connecter.

Voici mon exemple de code :

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

nsample = 20
np.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()

Voici l'image générée par l'exemple de code :

Voici le schéma avec les marqueurs connectés à la ligne "dessinée à la main" pour vous montrer tout ce dont j'ai besoin que le code fasse automatiquement.


Bonne réponse


Puisque le résultat semble effectivement donner les coordonnées du point, vous pouvez simplement utiliser :

ax.plot(*res[0])

... ou mieux encore, créez simplement l'intégralité de l'intrigue vous-même et vous aurez alors un contrôle total sur la façon dont vous la stylisez :

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt

nsample = 20
np.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")

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer