如何修改pygal生成的svg文件背景色

我按书上代码操作,生成的svg图片背景是黑色的,但是书中例子生成图片背景是白色,它说进行了设置,但没详述,有人可以解答一下这个小白问题吗?谢谢

我生成的svg文件效果:

clipboard.png

书中例子的svg文件效果:

clipboard.png

阅读 6.1k
2 个回答
import random
import pygal

class Die:
    """
    一个骰子类
    """
    def __init__(self, num_sides=6):
        self.num_sides = num_sides
        
    def roll(self):
        return random.randint(1, self.num_sides)

die = Die()
result_list = []
# 掷1000次
for roll_num in range(1000):
    result = die.roll()
    result_list.append(result)
    
frequencies = []
# 范围1~6,统计每个数字出现的次数
for value in range(1, die.num_sides + 1):
    frequency = result_list.count(value)
    frequencies.append(frequency)
    
# 条形图
hist = pygal.Bar()  # 默认的style就是白色背景
hist.title = 'Results of rolling one D6 1000 times'
# x轴坐标
hist.x_labels = [1, 2, 3, 4, 5, 6]
# x、y轴的描述
hist.x_title = 'Result'
hist.y_title = 'Frequency of Result'
# 添加数据, 第一个参数是数据的标题
hist.add('D6', frequencies)
# 直接渲染到浏览器
hist.render_in_browser()

你是不是定义style了?

from pygal.style import DarkStyle
hist = pygal.Bar(style=DarkStyle) # 这个是你的黑色背景
hist.title = 'Results of rolling one D6 1000 times'
# x轴坐标
hist.x_labels = [1, 2, 3, 4, 5, 6]
# x、y轴的描述
hist.x_title = 'Result'
hist.y_title = 'Frequency of Result'
# 添加数据, 第一个参数是数据的标题
hist.add('D6', frequencies)
# 直接渲染到浏览器
hist.render_in_browser()

实在不行把背景清了

from pygal.style import CleanStyle
hist = pygal.Bar(style=CleanStyle) # 清除背景
新手上路,请多包涵

....打开方式不对,要用 浏览器

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题