在pandas中的图表下插入描述

时间:2018-04-12 08:12:55

标签: python pandas graph charts

我用这个例子开始使用pandas:

http://pandas-xlsxwriter-charts.readthedocs.io/chart_grouped_column.html#chart-grouped-column

我也想在excel中保存图表,就像在示例

中一样

我想知道如何在上面的示例中,我可以在图表图表下添加说明或表格

我找到的唯一相关的是: Add graph description under graph in pylab

但这是用pylab完成的,pandas和excel图表是一样的吗?

1 个答案:

答案 0 :(得分:2)

在Excel中,您可以添加一个文本框并插入一些文本,但这对XlsxWriter来说是不可能的。

您可以使用图表title属性,但在Excel中,标题通常位于顶部,而不是底部。

您可以在Excel中手动重新定位它。 XlsxWriter也可以使用不同图表对象的layout选项。

以下是一个例子:

import xlsxwriter

workbook = xlsxwriter.Workbook('chart.xlsx')
worksheet = workbook.add_worksheet()

# Create a new Chart object.
chart = workbook.add_chart({'type': 'column'})

# Write some data to add to plot on the chart.
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])

# Configure the charts. In simplest case we just add some data series.
chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
chart.add_series({'values': '=Sheet1!$C$1:$C$5'})

chart.set_x_axis({'name': 'X axis title'})
chart.set_y_axis({'name': 'Y axis title'})

chart.set_title({
    'name': 'Here is some text to describe the chart',
    'name_font':  {'bold': False, 'size': 10},
    'layout': {
        'x': 0.25,
        'y': 0.90,
    }
})

chart.set_plotarea({
    'layout': {
        'x':      0.11,
        'y':      0.10,
        'width':  0.75,
        'height': 0.60,    
    }
})

#Insert the chart into the worksheet.
worksheet.insert_chart('A7', chart)

workbook.close()

注意,您需要使用layout属性进行一些试验和错误,以获得所需的布局。

输出:

enter image description here