我目前正在使用 pygal 进行图形生成,我在 x 轴上遇到日期问题,因为它们的数量在增加并且它们开始重叠。我想在日期之间提供间距或每周将日期放在那里。
如果有人可以提供帮助,那将是非常可观的。谢谢你。
你可以:
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
在那之后,我们没有得到重叠的日期: