Les sondages « vote préférentiel » ne fonctionnent pas correctement avec les diagrammes circulaires

:information_source: Vue d’ensemble

L’utilisation du type de graphique Secteur avec les sondages à Choix classés produit des résultats incorrects. Chaque option reçoit un vote, quelle que soit la manière dont l’utilisateur a classé ses choix. Ce comportement rend le graphique trompeur et incompatible avec la logique des choix classés.

:walking_woman: Étapes pour reproduire

  1. Cliquez sur Créer un sondage dans le compositeur.
  2. Ouvrez les Options avancées (icône d’engrenage).
  3. Remplissez les champs du sondage (facultatif), mais sélectionnez « Secteur » au lieu de « Barre » pour le type de graphique.
  4. Revenez en haut et sélectionnez Choix classés comme type de sondage.
  5. Enregistrez et publiez le sondage.

À ce stade, le sondage utilisera le type de graphique Secteur, qui n’est pas conçu pour fonctionner avec le vote par choix classés.

:white_check_mark: Résultats attendus

Le système devrait soit :

  • Passer automatiquement au graphique Barre lorsque « Choix classés » est sélectionné, soit
  • Empêcher l’utilisateur de sélectionner Secteur pour les sondages à choix classés.

:x: Résultats observés

Le sondage utilise le graphique Secteur et compte un vote par option, même si un utilisateur n’a classé qu’un ou quelques choix. Le graphique affiche toutes les options de manière égale, rendant les résultats dénués de sens :

:books: Contexte supplémentaire

Solution de contournement temporaire appliquée :

poll = Poll.find_by(id: 123)
poll.chart_type = 'bar'
poll.save

La mise à jour manuelle du type de graphique du sondage de pie à bar dans la console corrige le problème et rétablit des résultats précis :

3 « J'aime »

Pour information, cas limite intéressant @merefield

1 « J'aime »

Il ne s’agit pas d’un cas limite valide.

Le système de vote à choix classé (Ranked Choice) ne dispose actuellement d’aucun graphique pris en charge dans le noyau — et ce, par choix.

Il n’a jamais été conçu pour être visualisé sous forme de camembert. Le vote à choix classé se compose de tours successifs, ce qui ne peut pas être représenté sur un seul camembert.

Le bug ici, s’il y en a un, est probablement lié au fait que quelqu’un a pu sélectionner un graphique alors que l’interface aurait dû l’en empêcher. Quelqu’un a-t-il modifié le code de configuration pour le permettre ? Cela dit, vous avez toujours pu “bidouiller” le markdown initial pour modifier les attributs après l’assistant (ce qui n’est pas recommandé).

J’avais proposé il y a un moment un graphique approprié, à savoir un diagramme de Sankey, qui fonctionnait, mais Discourse a refusé de le fusionner car il ajoute une bibliothèque dépendante (bien que celle-ci soit bien supportée et populaire). C’est compréhensible.

Je serais ravi que quelqu’un me finance pour mettre ce code à jour et préparer une pull request si CDCK venait à changer d’avis concernant l’intégration du Sankey.

Mon fork du plugin affiche un diagramme de Sankey pour le vote à choix classé. Il est probablement très obsolète et nécessite une maintenance, car personne ne finance son entretien :

Voici une sélection représentative des modifications apportées pour le Sankey :

N’hésitez pas à en faire ce que vous voulez.

C’est assez impressionnant, si je puis me permettre.

C’est nettement mieux qu’un camembert !! :sweat_smile:

Je suggère de déplacer ce sujet vers Contribute > Feature avec la demande de fonctionnalité suivante :

  • ajouter une visualisation appropriée pour le vote à choix classé.
1 « J'aime »