如何使用xlsxwri设置xaxis数据打印pandas数据帧

2024-09-28 22:23:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用xlsxtwriter和python3和pandas在excel中创建一个绘图。如何让xlsxwriter将pubyear列用于x轴值?在

我可以使用matplotlib成功绘图,但我需要生成excel图表。在

这个代码

n [248]: df1.describe
Out[248]: 
<bound method NDFrame.describe of          africa
pubyear        
2018      57371
2017      70838
2016      66250
2015      58572
2014      52453
2013      46733
2012      42521
2011      38851
2010      33463
2009      29603
2008      25947
2007      22573
2006      19188
2005      16701>

writer = pd.ExcelWriter('/tmp/pandas_simple.xlsx', engine='xlsxwriter')

# Convert the dataframe to an XlsxWriter Excel object.
df.to_excel(writer, sheet_name='Sheet1')
workbook  = writer.book
worksheet = writer.sheets['Sheet1']
chart = workbook.add_chart({'type': 'column'})

# Configure the series of the chart from the dataframe data.
chart.add_series({'values': '=Sheet1!$D$1:$D$15'})
chart.set_x_axis({'name': 'Pubyear', 'min': '=Sheet1!$A$2', 
                  'max':  '=Sheet1!$A$14', 
                  "date_axis" : "=Sheet1!$A$2:$A15$" })
chart.set_y_axis({'name': 'Output'})
worksheet.insert_chart('I2', chart)

writer.save()


在电子表格中生成了一个包含该数据的文件,其中pubyear在A列,africa在B列:

^{pr2}$

图中显示了一个条形图 x轴:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

我希望A列的pubyear是x-labels。在


Tags: ofthename绘图dataframepandaschartexcel