熊猫xlsxwriter堆积条形图(pandas xlsxwriter stacked barchart)
我想在excel中上传一个分组的条形图,但我似乎无法找到一种方法。
这是我的代码:
bar_chart2 = workbook.add_chart({'type':'column'}) bar_chart2.add_series({ 'name':'Month over month product', 'categories':'=Month over month!$H$2:$H$6', 'values':'=Month over month!$I$2:$J$6', }) bar_chart2.set_legend({'none': True}) worksheet5.insert_chart('F8',bar_chart2) bar_chart2.set_legend({'none': True}) worksheet5.insert_chart('F8',bar_chart2)但是,我明白了。
I am looking to upload a grouped barchart in excel, however I can't seem to find a way to do so.
Here is my code:
bar_chart2 = workbook.add_chart({'type':'column'}) bar_chart2.add_series({ 'name':'Month over month product', 'categories':'=Month over month!$H$2:$H$6', 'values':'=Month over month!$I$2:$J$6', }) bar_chart2.set_legend({'none': True}) worksheet5.insert_chart('F8',bar_chart2) bar_chart2.set_legend({'none': True}) worksheet5.insert_chart('F8',bar_chart2)However, I get that.
最满意答案
使用您提供的数据,我重新编写了文档中给出的示例jmcnamara(链接在这里 ),以满足您的需求。
完整代码:
import pandas as pd import xlsxwriter headings = [' ', 'Apr 2017', 'May 2017'] data = [ ['NGN', 'UGX', 'KES', 'TZS', 'CNY'], [5816, 1121, 115, 146, 1], [7089, 1095, 226, 120, 0], ] #opening workbook workbook = xlsxwriter.Workbook("test.xlsx") worksheet5 = workbook.add_worksheet('Month over month') worksheet5.write_row('H1', headings) worksheet5.write_column('H2', data[0]) worksheet5.write_column('I2', data[1]) worksheet5.write_column('J2', data[2]) # beginning of OP snippet bar_chart2 = workbook.add_chart({'type':'column'}) bar_chart2.add_series({ 'name': "='Month over month'!$I$1", 'categories': "='Month over month'!$H$2:$H$6", 'values': "='Month over month'!$I$2:$I$6", }) bar_chart2.add_series({ 'name': "='Month over month'!$J$1", 'categories': "='Month over month'!$H$2:$H$6", 'values': "='Month over month'!$J$2:$J$6", }) bar_chart2.set_title ({'name': 'Month over month product'}) bar_chart2.set_style(11) #I took the liberty of leaving the legend in there - it was commented in originally #bar_chart2.set_legend({'none': True}) # end of OP snippet worksheet5.insert_chart('F8', bar_chart2) workbook.close()输出:
Using your provided data, I re-worked the Example given in the Docs by jmcnamara (link here) to suit what you're looking for.
Full Code:
import pandas as pd import xlsxwriter headings = [' ', 'Apr 2017', 'May 2017'] data = [ ['NGN', 'UGX', 'KES', 'TZS', 'CNY'], [5816, 1121, 115, 146, 1], [7089, 1095, 226, 120, 0], ] #opening workbook workbook = xlsxwriter.Workbook("test.xlsx") worksheet5 = workbook.add_worksheet('Month over month') worksheet5.write_row('H1', headings) worksheet5.write_column('H2', data[0]) worksheet5.write_column('I2', data[1]) worksheet5.write_column('J2', data[2]) # beginning of OP snippet bar_chart2 = workbook.add_chart({'type':'column'}) bar_chart2.add_series({ 'name': "='Month over month'!$I$1", 'categories': "='Month over month'!$H$2:$H$6", 'values': "='Month over month'!$I$2:$I$6", }) bar_chart2.add_series({ 'name': "='Month over month'!$J$1", 'categories': "='Month over month'!$H$2:$H$6", 'values': "='Month over month'!$J$2:$J$6", }) bar_chart2.set_title ({'name': 'Month over month product'}) bar_chart2.set_style(11) #I took the liberty of leaving the legend in there - it was commented in originally #bar_chart2.set_legend({'none': True}) # end of OP snippet worksheet5.insert_chart('F8', bar_chart2) workbook.close()Output:
更多推荐
发布评论