繁体   English   中英

如何在轴的顶部水平显示 xlsxwriter 柱形图的 y_axis 名称?

[英]How to display the y_axis name of a xlsxwriter column chart horizontally, at the top of the axis?

我正在使用 XlsxWriter 创建柱形图,y 轴名称水平显示在轴的顶部。 y 轴名称的默认方向似乎是垂直的,从下到上读取。

所以我使用名称字体旋转来尝试水平 position 它,从左到右阅读。 这对于从 -90 到 90 的任何旋转角度都可以正常工作,除了 0(零),它应该是水平方向。 似乎当旋转设置为 0(零)时,它被简单地忽略并且名称垂直显示。

实现视觉上可接受的结果的解决方法是将旋转设置为 1 或 -1。 这适用于短名称,但对于较长的名称,开始注意到文本不在 0(零)度 - 水平。

我正在使用 Python 版本 Python 3.8.3、xlsxwriter 版本 1.2.9 和 Excel 365。

这是一些演示问题的代码:


workbook = xlsxwriter.Workbook('test.xlsx')

worksheet = workbook.add_worksheet()
chart = workbook.add_chart({'type': 'column'})

data = [
    [1, 2, 3, 4, 5],
    [2, 4, 6, 8, 10],
    [3, 6, 9, 12, 15],
]

worksheet.write_column('A1', data[0])
worksheet.write_column('B1', data[1])
worksheet.write_column('C1', data[2])

chart.add_series({'values': '=Sheet1!$A$1:$A$5'})

chart.set_title({'name': 'Some Title', 
                 'name_font': {'rotation': 0}})

chart.set_y_axis({'visible': False,
                  'name': 'Y Axis', 
                  'name_font': {'size': 14, 'bold': False, 'italic': True, 'rotation': 0},
                  'name_layout': {'x': 0.025, 'y': 0.075}})

worksheet.insert_chart('E1', chart)

workbook.close()

关于如何水平显示 y 轴名称的任何想法?

不幸的是,这是由于一个小错误。 我已经在 XlsxWriter版本 1.4.0中修复了它。

修复到位后,您的(非常详细的)程序中的 output 与预期的一样:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM