dax
(Daniela)
1
概述
使用饼图类型和排序选择投票会产生不正确的结果。每个选项都会获得一票,而不管用户实际如何对他们的选择进行排序。这种行为使图表具有误导性,并且与排序选择逻辑不兼容。
重现步骤
- 在编辑器中单击创建投票。
- 打开高级选项(齿轮图标)。
- 填写投票字段(可选),但选择饼图而不是“条形图”作为图表类型。
- 滚动回顶部,然后选择排序选择作为投票类型。
- 保存并发布投票。
此时,投票将使用饼图类型,该类型并非设计用于排序选择投票。
预期结果
系统应执行以下任一操作:
- 选择“排序选择”时自动切换到条形图,或
- 完全阻止用户为排序选择投票选择饼图。
观察到的结果
投票使用饼图并计算每个选项一票,即使某个用户只排序了一项或几项选择。图表平等地显示所有选项,使结果毫无意义:
其他上下文
已应用临时解决方法:
poll = Poll.find_by(id: 123)
poll.chart_type = 'bar'
poll.save
在控制台中手动将投票的图表类型从 pie 更新为 bar 可以纠正问题并恢复准确的结果:
3 个赞
这不是一个有效的边界情况。
目前核心代码出于设计选择,不支持排名选择(Ranked Choice)的图表展示。
排名选择本来就不应该用饼图来可视化。排名选择由多轮投票组成,而这是无法在单个饼图中表示的。
如果这里存在 bug,那很可能是有人在界面本应阻止的情况下仍然能够选择图表。是否有人修改了设置代码以允许这样做?话虽如此,你始终可以通过“黑客”手段修改初始 markdown 来在“向导”之后更改属性(这种做法并不推荐)。
我之前曾提供一个合适的图表方案,即桑基图(Sankey),当时它运行正常,但 Discourse 拒绝合并它,因为它增加了一个(尽管支持良好且流行的)依赖库。这也情有可原。
如果 CDCK 改变关于合并桑基图的态度,我愿意接受资助,将该功能更新到现代代码并准备一个 PR。
我的插件分支展示了排名选择的桑基图。它很可能已经过时,且由于缺乏资金维护,急需更新:
以下是桑基图相关的一些代表性更改:
请随意使用这些内容。
如果允许我自夸一下的话,它确实非常酷。
它绝对比饼图好多了!!
我建议将此话题移至 Contribute > Feature,功能请求如下:
1 个赞