我目前正在使用pygal生成图表,我在x轴上遇到日期问题,因为它们的数量正在增加并且它们开始重叠。我想要在日期之间提供间距,或者每周都有日期。
如果有人可以提供帮助,那将是非常值得注意的。 谢谢。
答案 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
之后我们将重叠日期:
接下来,考虑修改后的代码片段:
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
之后我们没有得到重叠的日期: