def c_get_table_pie_chartsself data_table = selfdata0 data_linechart = selfdata1 #先化表格预留好多个饼图位置 public_method = PublicMethodcol=selfcol req=selfreq + 15 lendata_linechartg
要拉长饼图的长度,可以修改以下几个地方:
-
修改req的值:在初始化public_method时,将req的值增加,可以通过修改req的增加量来控制饼图的长度。例如,可以将req的增加量从15改为30,即req + 30 * len(data_linechart.get('pies'))。
-
修改chart的高度:在插入饼图时,可以通过修改插入的cell的行数来控制饼图的高度。例如,将cell的行数从self.req + 15 * index改为self.req + 30 * index。
综上所述,修改后的代码如下:
def c_get_table_pie_charts(self):
data_table = self.data[0]
data_linechart = self.data[1]
# 先化表格,预留好多个饼图位置
public_method = PublicMethod(col=self.col, req=(self.req + 30 * len(data_linechart.get('pies'))),
worksheet=self.worksheet, data=data_table, format=self.format)
table_cell = public_method.c_get_alone_table()
has_data_linechart_col = []
colnames = data_table.get('colnames')
for index, cols in enumerate(data_linechart['pies']):
title = data_linechart['pies'][index].get('subtitle', '')
for index1, colname in enumerate(colnames):
if colname not in title:
continue
has_data_linechart_col.append(ROW_NAME_INDEX[index1])
public_method = PublicMethod(total=self.total)
for index, cols in enumerate(has_data_linechart_col):
if len(data_linechart['pies']) == index:
break
chart = self.workbook.add_chart(self.chart_type)
public_method.linechart_col = [cols]
if data_linechart['pies'][index].get('subtitle', '') != '':
data_linechart['title'] = data_linechart['pies'][index].get('subtitle')
public_method.get_pie_chart(table_cell, data_table, chart, data_linechart)
cell = self.col + str(self.req + 30 * index)
self.worksheet.insert_chart(cell.decode('utf-8'), chart)
return table_cell + 1
请注意,上述代码中的修改部分仅仅是为了展示如何拉长饼图的长度,实际应用中可能需要根据具体需求进行调整
原文地址: https://www.cveoy.top/t/topic/iZ2B 著作权归作者所有。请勿转载和采集!