【问题标题】:pygal charts line up horizontallypygal 图表水平排列
【发布时间】:2017-02-08 17:23:30
【问题描述】:

我试图让我的 pygal.SolidGauge 图表排成一条水平线,如下所示: charts in horizontal row

但我发现默认情况下图表垂直堆叠如下: charts in vertical row

我怎样才能让它们水平排列?我正在使用 Python 3.5.1,这是我的代码

import pygal

def create_chart():
    gauge_chart = pygal.SolidGauge(show_legend=False, inner_radius=0.70, half_pie=False)

    gauge_chart.add('Max ', [{'value': 58, 'max_value': 100}])
    gauge_chart.add('Min ', [{'value': 42, 'max_value': 100}])
    gauge_chart.add('Mean', [{'value': 28, 'max_value': 100}])

    gauge_chart.render_to_png("chart.png")


if __name__ == "__main__":
    create_chart()

【问题讨论】:

    标签: python charts alignment pygal


    【解决方案1】:

    图表很可能是在<div> 元素中呈现的

    默认情况下,<div> 元素具有display: block;
    并且会垂直堆叠

    为了测试,在页面中添加以下css

    div {
      display: inline-block;
    }
    

    如果正确,假设屏幕足够宽,图表将水平堆叠

    如果是这样,删除测试并将类名添加到图表容器中,例如

    html

    <div class="chart"></div>
    

    然后为类添加css

    css

    .chart {
      display: inline-block;
    }
    

    【讨论】:

    • 这是为了生成一个嵌入到 PDF 中的 PNG 文件,而不是在 HTML 中呈现。但是按照您的建议,我尝试在图表中添加如下样式 my_style = Style(display='inline-block') 并调用如下方法:gauge_chart = pygal.SolidGauge(show_legend=False, inner_radius=0.70, half_pie =False, style=my_style) 但这没有帮助......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    相关资源
    最近更新 更多