Enquetes de "escolha ranqueada" não funcionam corretamente com gráficos de pizza

:information_source: Visão Geral

O uso do tipo de gráfico Pizza com enquetes de Escolha Classificada produz resultados incorretos. Cada opção recebe um voto, independentemente de como o usuário realmente classificou suas escolhas. Esse comportamento torna o gráfico enganoso e incompatível com a lógica de escolha classificada.

:walking_woman: Passos para reproduzir

  1. Clique em Criar Enquete no composer.
  2. Abra Opções avançadas (ícone de engrenagem).
  3. Preencha os campos da enquete (opcional), mas selecione “Pizza” em vez de “Barra” para o tipo de gráfico.
  4. Role de volta para o topo e selecione Escolha Classificada como o tipo de enquete.
  5. Salve e publique a enquete.

Neste ponto, a enquete estará usando o tipo de gráfico Pizza, que não foi projetado para funcionar com votação de escolha classificada.

:white_check_mark: Resultados esperados

O sistema deve:

  • Mudar automaticamente para o gráfico Barra quando “Escolha Classificada” for selecionado, ou
  • Impedir que o usuário selecione Pizza para enquetes de escolha classificada.

:x: Resultados observados

A enquete usa o gráfico Pizza e conta um voto por opção, mesmo que um usuário tenha classificado apenas uma ou algumas escolhas. O gráfico exibe todas as opções igualmente, tornando os resultados sem sentido:

:books: Contexto adicional

Solução temporária aplicada:

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

Atualizar manualmente o tipo de gráfico da enquete de pizza para bar no console corrige o problema e restaura os resultados precisos:

3 curtidas

Para sua informação, um caso de uso interessante @merefield

1 curtida

Este não é um caso de teste válido.

O sistema de Voto Preferencial (Ranked Choice) não possui um gráfico suportado no núcleo no momento — por decisão.

Ele nunca foi destinado a ser visualizado em um gráfico de pizza. O Voto Preferencial consiste em rodadas, e isso não pode ser representado em um único gráfico de pizza.

O bug aqui, se houver, provavelmente é alguém conseguir selecionar um gráfico quando a interface deveria ter impedido. Alguém alterou o código de configuração para permitir isso? Dito isso, você sempre pôde “hackear” o markdown inicial para alterar os atributos após o “wizard” (o que não é recomendado).

Eu havia oferecido um gráfico adequado, um diagrama de Sankey, há algum tempo, que funcionava, mas o Discourse recusou a mesclá-lo porque adiciona uma biblioteca dependente (embora bem suportada e popular). Tudo bem.

Estou disposto a receber financiamento para atualizar esse código para os padrões modernos e preparar um PR (Pull Request) se o CDCK mudar sua posição sobre a incorporação do Sankey.

Meu fork do plugin mostra um Sankey para o Voto Preferencial. É provável que esteja muito desatualizado e precise de manutenção, já que ninguém está financiando sua manutenção:

Aqui está uma seleção representativa das alterações para o Sankey:

Sinta-se à vontade para fazer o que quiser com isso.

É bem legal, se posso dizer assim.

Definitivamente é melhor que um gráfico de pizza!! :sweat_smile:

Recomendo que isso seja movido para Contribute > Feature, com o pedido de recurso sendo:

  • adicionar uma visualização adequada para o Voto Preferencial.
1 curtida