【发布时间】:2018-01-29 19:17:56
【问题描述】:
我正在尝试可视化在浏览器中查看的 pygal 直方图上滚动两个 D6 的结果。当鼠标悬停在其中一个栏上时,我得到数字重叠。 example of overlap 我将在下面包含我的代码。
import pygal
from die import Die
# Create two D6 dice
die_1 = Die()
die_2 = Die()
# Make some results and store in a list.
results = []
for roll_num in range(1000):
result = die_1.roll() + die_2.roll()
results.append(result)
# Analyze the results.
frequencies = []
max_result = die_1.num_sides + die_2.num_sides
for value in range(2, max_result+1):
frequency = results.count(value)
frequencies.append(frequency)
# Visualize the results.
hist = pygal.Bar()
hist.force_uri_protocol = 'http'
hist.title = "Results of rolling two D6 dice 1000 times."
hist.x_labels = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
hist.x_title = "Result"
hist.y_title = "Frequency of Result"
hist.add('D6 + D6', frequencies)
hist.render_to_file('die_visual.svg')
【问题讨论】:
-
我要导入的 Die 类基本上只是创建默认 D6 和 .roll() 的一些代码。
-
我复制了您的代码,当我运行它时,工具提示的行为符合预期。每个栏显示它自己的工具提示,并且没有与其他列重叠。我在 Mac 上(我在 Ubuntu 上看到了你的),但我尝试了 Firefox 和 Safari,并且都正确呈现。为了帮助进一步调试,您使用的是什么版本的 pygal、python 和 firefox,因为代码似乎适用于我的设置。
-
感谢您的帮助。我在虚拟环境和 pygal 2.4 中使用 python 3.6.3。我的 Firefox 版本是 12.0
-
我也在运行 python 3.6.3 和 pygal 2.4。但是,我的 Firefox 比你的(58.0.1)更新得多。这可能是 Firefox 的问题,因为我没有看到您的代码有任何问题。我有一些想法可以进一步调试。 1)您是否将firefox升级到更新版本,看看是否有效。 2)上传您的实际 .svg 文件并发布一个链接,我会看看工具提示是否适合我。 3) 我可以将我生成的 .svg 发送给您,我们可以查看它是否在您的系统上正确呈现。
-
感谢您的所有帮助。我运行“sudo apt-get upgrade”,ubuntu 告诉我我所有的软件都是最新的。如果我落后 46 次更新,我不确定会发生什么。我找不到上传 .svg 的方法。很抱歉在这方面如此“菜鸟”。