| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
写了一个掷骰子的代码,希望生成柱状图,但最后生成的svg文件是0kb。代码如下: 
from random import randint 
 
class Die(): 
    """a class of die""" 
     
    def __init__(self,num_sides=6): 
        """default 6 sides""" 
        self.num_sides = num_sides 
         
    def roll(self): 
        """return a random number between 1 and die's sides""" 
        return randint(1,self.num_sides) 
………………………………………………………… 
from die import Die 
import pygal 
 
#create a D6 
die = Die() 
 
#roll die a few times and restore result in a list 
results = [] 
for roll_num in range(6000): 
    result = die.roll() 
    results.append(result) 
 
#analsis result 
frequencies = [] 
for value in range(1,die.num_sides+1): 
    frequency = results.count(value) 
    frequencies.append(frequency) 
 
 
#visualize result 
hist = pygal.Bar() 
 
hist.title = "Results of rolling one D6 6000 times." 
hist.x_labels = ['1','2','3','4','5','6'] 
hist.x_title = ["Result"] 
hist.y_title = "Frenquency of Result" 
 
hist.add('D6',frequencies) 
hist.render_to_file('die_visual.svg') 
发生了报错,报错代码如下: 
Traceback (most recent call last): 
  File "die_visual.py", line 29, in <module> 
    hist.render_to_file('die_visual.svg') 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\ghost.py", line 165, in render_to_file 
    f.write(self.render(is_unicode=True, **kwargs)) 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\ghost.py", line 121, in render 
    return (self 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\ghost.py", line 114, in make_instance 
    self._last__inst = self.cls( 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\graph\bar.py", line 37, in __init__ 
    super(Bar, self).__init__(*args, **kwargs) 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\graph\base.py", line 74, in __init__ 
    self._draw() 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\graph\base.py", line 291, in _draw 
    self._compute_margin() 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\graph\base.py", line 159, in _compute_margin 
    self.x_title = split_title( 
  File "C:\Users\asus\AppData\Roaming\Python\Python38\site-packages\pygal\util.py", line 435, in split_title 
    title_lines = title.split("\n") 
AttributeError: 'list' object has no attribute 'split' 
 |   
 
 
 
 |