当使用pygal生成图时,如何在图形中的x轴上设置日期之间的间距?

时间:2017-01-25 08:25:23

标签: python pygal

我目前正在使用pygal生成图表,我在x轴上遇到日期问题,因为它们的数量正在增加并且它们开始重叠。我想要在日期之间提供间距,或者每周都有日期。

如果有人可以提供帮助,那将是非常值得注意的。 谢谢。

1 个答案:

答案 0 :(得分:4)

你可以:

1)设置x_label_rotation参数的值以顺时针旋转日期 2)在x轴上获取每个N日期,其中N可以调整。你应该设置show_minor_x_labels = False。

例如:

import random
import pygal
chart = pygal.Line(x_label_rotation=20)
date_list = [datetime(2017, 1, 30, 0, 0, n) for n in range(0, 60)]
values_list = [random.randint(5, 20) for n in range(0, 60)]
chart.x_labels = date_list
chart.add('line', values_list)
chart.render_to_file('your_path_to_file') #f.e /Users/{user_name}/Documents/chart.svg

之后我们将重叠日期:

enter image description here

接下来,考虑修改后的代码片段:

import random
import pygal
chart = pygal.Line(x_label_rotation=20, show_minor_x_labels=False)
date_list = [datetime(2017, 1, 30, 0, 0, n) for n in range(0, 60)]
values_list = [random.randint(5, 20) for n in range(0, 60)]
chart.x_labels = date_list
N = 5 # we will plot only every 5 date from date_list
chart.x_labels_major = date_list[::N]
chart.add('line', values_list)
chart.render_to_file('your_path_to_file') #f.e /Users/{user_name}/Documents/chart.svg

之后我们没有得到重叠的日期:

enter image description here