gpt4 book ai didi

xlsxwriter - 使用 xlsxwriter 将趋势线添加到条形图

转载 作者:行者123 更新时间:2023-12-05 06:13:00 24 4
gpt4 key购买 nike

我正在尝试创建带有趋势线的条形图。我可以在 excel 中执行此操作,并希望使该过程自动化。 xlswriter 非常易于使用,我已经复制了条形图它只是趋势线对我不起作用。它似乎在行中添加了 2 个元素,并在每个堆栈的顶部添加了一个额外的条。

charts

这是创建左边图表的代码

import xlsxwriter

# create worbook, workseet and chart
workbook = xlsxwriter.Workbook("Example.xlsx")
worksheet = workbook.add_worksheet()
chart1 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'})

# Add the worksheet data
headings = ['Model 1', 'Model 2', 'Capacity']
data = [
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
[20, 30, 40, 40, 30, 30]
]

worksheet.write_row('A1', headings)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

# Configure the first series.
chart1.add_series({
'name': '=Sheet1!$A$1',
'values': '=Sheet1!$A$2:$A$7',
})

# Configure the first series.
chart1.add_series({
'name': '=Sheet1!$B$1',
'values': '=Sheet1!$B$2:$B$7',
})

chart1.add_series({
'name': '=Sheet1!$C$1',
'values': '=Sheet1!$C$2:$C$7',
'trendline': {'type': 'linear'},
})

# Set an Excel chart style.
chart1.set_style(11)

# Add a chart title
chart1.set_title ({'name': 'xlsxwriter chart'})

# Insert the chart into the worksheet (with an offset).
worksheet.insert_chart('F1', chart1)

# Finally, close the Excel file
workbook.close()

条形图选择我要插入的数据作为趋势线。任何帮助将不胜感激。

最佳答案

看起来您要做的是添加辅助折线图而不是趋势线。您可以使用 XlsxWriter chart.combine() 执行此操作方法。

像这样:

import xlsxwriter

# create worbook, workseet and chart
workbook = xlsxwriter.Workbook("Example.xlsx")
worksheet = workbook.add_worksheet()
chart1 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'})

# Add the worksheet data
headings = ['Model 1', 'Model 2', 'Capacity']
data = [
[10, 40, 50, 20, 10, 50],
[30, 60, 70, 50, 40, 30],
[20, 30, 40, 40, 30, 30]
]

worksheet.write_row('A1', headings)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

# Configure the first series.
chart1.add_series({
'name': '=Sheet1!$A$1',
'values': '=Sheet1!$A$2:$A$7',
})

# Configure the first series.
chart1.add_series({
'name': '=Sheet1!$B$1',
'values': '=Sheet1!$B$2:$B$7',
})


# Add a chart title
chart1.set_title ({'name': 'xlsxwriter chart'})

# Create a second line chart.
chart2 = workbook.add_chart({'type': 'line'})

chart2.add_series({
'name': '=Sheet1!$C$1',
'values': '=Sheet1!$C$2:$C$7',
})


# Combine the charts.
chart1.combine(chart2)

# Insert the chart into the worksheet (with an offset).
worksheet.insert_chart('F1', chart1)

# Finally, close the Excel file
workbook.close()

输出:

enter image description here

关于xlsxwriter - 使用 xlsxwriter 将趋势线添加到条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63444208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com