Search code examples
pythonlegendpygal

How to make pygal distribute legend into n columns or truncate correctly?


I have a following code for pygal graph generation:

import pygal
from pygal.style import Style
style = Style(
        background='white',
        plot_background='rgba(0, 0, 255, 0.03)',
        foreground='rgba(0, 0, 0, 0.8)',
        foreground_light='rgba(0, 0, 0, 0.9)',
        foreground_dark='rgba(0, 0, 0, 0.7)',
        colors=('#5DA5DA', '#FAA43A','#60BD68', '#F17CB0', '#4D4D4D', '#B2912F','#B276B2', '#DECF3F', '#F15854')
        )
line_chart = pygal.Line(
        include_x_axis=True,
        width=1080,
        #height=1600,
        print_values=False,
        style=style,
        label_font_size=18,
        margin=10,
        title_font_size=26,
        x_title='seconds',
        y_title='frames per second',
        # Legend
        legend_box_size=12,
        legend_font_size=16,
        truncate_legend=50,
        legend_at_bottom=True
        )

But with my pretty long legend entries I get the following:

enter image description here

When I comment out truncate I get this:

enter image description here

How can I adjust the number (or width) of columns?


Solution

  • Just so others can more easily find the answer: after a request by the OP, there is now a legend_at_bottom_columns option that can be used as follows:

    pie.legend_at_bottom = True
    pie.legend_at_bottom_columns = 4