Python Pandas xlsxriter 堆叠折线图类型设置标准折线图 in Excel
Python Pandas xlsxriter stacked line chart type setting standard line chart in Excel
我正在尝试使用 pandas 和 xlsxwriter 在 excel 中创建堆叠折线图。
当在添加图表中输入图表类型 dict 时,我使用文档说明应该在 Excel 中配置堆叠线。 (所以我想反正!)当我打开 Excel 我得到一个标准折线图,这意味着我需要手动更改为堆叠线(第二个跨框)
这是一些示例代码
import pandas as pd
# example csv data
'''
Date-Time col1 col2
2021-03-01 00:00:00 34329 34540
2021-03-01 00:15:00 34174 34369
2021-03-01 00:30:00 34121 34418
2021-03-01 00:45:00 34012 34235
2021-03-01 01:00:00 33959 34273
2021-03-01 01:15:00 33825 34049
2021-03-01 01:30:00 33782 34010
2021-03-01 01:45:00 33584 33882
2021-03-01 02:00:00 33601 33905
2021-03-01 02:15:00 33415 33746
2021-03-01 02:30:00 33412 33827
2021-03-01 02:45:00 33291 33744
2021-03-01 03:00:00 33329 33816
2021-03-01 03:15:00 33209 33745
2021-03-01 03:30:00 33219 33833
'''
# create df
with open('example.csv', 'r') as csv:
df = pd.read_csv(csv).set_index('Date-Time')
# Create the workbook to save the data within
workbook = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
# Create sheets in excel for data
pd.DataFrame().to_excel(workbook, sheet_name='Dashboard')
# assign a blank dashboard for the charts
worksheet_dashboard = workbook.sheets['Dashboard']
# Get the xlsxwriter objects from the dataframe writer object
# for use with creating charts later
book = workbook.book
# Create sheets in excel for data
df.to_excel(workbook, sheet_name='example')
# Add the line chart objects
chart = book.add_chart({'type': 'line', 'subtype': 'stacked'})
# Configure the first series.
chart.add_series({
'name': '=example!$B',
'categories': '=example!$A:$A',
'values': '=example!$B:$B',
})
chart.add_series({
'name': '=example!$C',
'categories': '=example!$A:$A',
'values': '=example!$C:$C',
})
# Insert the chart into the worksheet
worksheet_dashboard.insert_chart('A1', chart)
workbook.save()
你可以看到那行
# Add the line chart objects
chart = book.add_chart({'type': 'line', 'subtype': 'stacked'})
应该提供 line 类型和 stacked 子类型,以前有人遇到过这个问题吗?
注意我使用的版本:
- Microsoft Office 365 Excel 2008 版。
- print(pd.version) 输出:0.23.0
代码应该按预期运行。这是我 运行 时的输出:
请注意,在 XlsxWriter version 1.2.9 中添加了堆叠线支持,因此请确保您拥有该版本或更高版本。
我正在尝试使用 pandas 和 xlsxwriter 在 excel 中创建堆叠折线图。
当在添加图表中输入图表类型 dict 时,我使用文档说明应该在 Excel 中配置堆叠线。 (所以我想反正!)当我打开 Excel 我得到一个标准折线图,这意味着我需要手动更改为堆叠线(第二个跨框)
这是一些示例代码
import pandas as pd
# example csv data
'''
Date-Time col1 col2
2021-03-01 00:00:00 34329 34540
2021-03-01 00:15:00 34174 34369
2021-03-01 00:30:00 34121 34418
2021-03-01 00:45:00 34012 34235
2021-03-01 01:00:00 33959 34273
2021-03-01 01:15:00 33825 34049
2021-03-01 01:30:00 33782 34010
2021-03-01 01:45:00 33584 33882
2021-03-01 02:00:00 33601 33905
2021-03-01 02:15:00 33415 33746
2021-03-01 02:30:00 33412 33827
2021-03-01 02:45:00 33291 33744
2021-03-01 03:00:00 33329 33816
2021-03-01 03:15:00 33209 33745
2021-03-01 03:30:00 33219 33833
'''
# create df
with open('example.csv', 'r') as csv:
df = pd.read_csv(csv).set_index('Date-Time')
# Create the workbook to save the data within
workbook = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')
# Create sheets in excel for data
pd.DataFrame().to_excel(workbook, sheet_name='Dashboard')
# assign a blank dashboard for the charts
worksheet_dashboard = workbook.sheets['Dashboard']
# Get the xlsxwriter objects from the dataframe writer object
# for use with creating charts later
book = workbook.book
# Create sheets in excel for data
df.to_excel(workbook, sheet_name='example')
# Add the line chart objects
chart = book.add_chart({'type': 'line', 'subtype': 'stacked'})
# Configure the first series.
chart.add_series({
'name': '=example!$B',
'categories': '=example!$A:$A',
'values': '=example!$B:$B',
})
chart.add_series({
'name': '=example!$C',
'categories': '=example!$A:$A',
'values': '=example!$C:$C',
})
# Insert the chart into the worksheet
worksheet_dashboard.insert_chart('A1', chart)
workbook.save()
你可以看到那行
# Add the line chart objects
chart = book.add_chart({'type': 'line', 'subtype': 'stacked'})
应该提供 line 类型和 stacked 子类型,以前有人遇到过这个问题吗?
注意我使用的版本:
- Microsoft Office 365 Excel 2008 版。
- print(pd.version) 输出:0.23.0
代码应该按预期运行。这是我 运行 时的输出:
请注意,在 XlsxWriter version 1.2.9 中添加了堆叠线支持,因此请确保您拥有该版本或更高版本。