python 用 xlwings 库 生成图表的操作方法
xlwings是一个获得BSD许可的Python库,可以很容易地从Excel调用Python,反之亦然。它适用于Windows和Mac上的MicrosoftExcel。
在官方文档里找不到具体怎么生成图表,和一些参数设置。
这里自己整理了一下。
importxlwingsasxw
app=xw.App()
wb=app.books.active
sht=wb.sheets.active
chart=sht.charts.add(100,10)#100,10为图表放置的位置坐标。以像素为单位。
chart.set_source_data(sht.range('A1').expand())#参数为表格中的数据区域。
#chart.chart_type=i#用来设置图表类型,具体参数件下面详细说明。
chart.api[1].ChartTitle.Text=i#用来设置图表的标题。
下面是所有图表类型:
importxlwingsasxw
app=xw.App()
wb=app.books.active
sht=wb.sheets.active
#生成图表的数据
sht.range('A1').value=[['时间','数量'],['1日',2],['2日',1],['3日',3]
,['4日',4],['5日',5],['6日',6]]
"""图表类型参数,被注释的那几个,无法生成对应的图表"""
dic={
'3d_area':-4098,
'3d_area_stacked':78,
'3d_area_stacked_100':79,
'3d_bar_clustered':60,
'3d_bar_stacked':61,
'3d_bar_stacked_100':62,
'3d_column':-4100,
'3d_column_clustered':54,
'3d_column_stacked':55,
'3d_column_stacked_100':56,
'3d_line':-4101,
'3d_pie':-4102,
'3d_pie_exploded':70,
'area':1,
'area_stacked':76,
'area_stacked_100':77,
'bar_clustered':57,
'bar_of_pie':71,
'bar_stacked':58,
'bar_stacked_100':59,
'bubble':15,
'bubble_3d_effect':87,
'column_clustered':51,
'column_stacked':52,
'column_stacked_100':53,
'cone_bar_clustered':102,
'cone_bar_stacked':103,
'cone_bar_stacked_100':104,
'cone_col':105,
'cone_col_clustered':99,
'cone_col_stacked':100,
'cone_col_stacked_100':101,
'cylinder_bar_clustered':95,
'cylinder_bar_stacked':96,
'cylinder_bar_stacked_100':97,
'cylinder_col':98,
'cylinder_col_clustered':92,
'cylinder_col_stacked':93,
'cylinder_col_stacked_100':94,
'doughnut':-4120,
'doughnut_exploded':80,
'line':4,
'line_markers':65,
'line_markers_stacked':66,
'line_markers_stacked_100':67,
'line_stacked':63,
'line_stacked_100':64,
'pie':5,
'pie_exploded':69,
'pie_of_pie':68,
'pyramid_bar_clustered':109,
'pyramid_bar_stacked':110,
'pyramid_bar_stacked_100':111,
'pyramid_col':112,
'pyramid_col_clustered':106,
'pyramid_col_stacked':107,
'pyramid_col_stacked_100':108,
'radar':-4151,
'radar_filled':82,
'radar_markers':81,
#'stock_hlc':88,
#'stock_ohlc':89,
#'stock_vhlc':90,
#'stock_vohlc':91,
#'surface':83,
#'surface_top_view':85,
#'surface_top_view_wireframe':86,
#'surface_wireframe':84,
'xy_scatter':-4169,
'xy_scatter_lines':74,
'xy_scatter_lines_no_markers':75,
'xy_scatter_smooth':72,
'xy_scatter_smooth_no_markers':73
}
w=385
h=241
n=0
x=100
y=10
foriindic.keys():
xx=x+n%3*w#用来生成图表放置的x坐标。
yy=y+n//3*h#用来生成图表放置的y坐标。
chart=sht.charts.add(xx,yy)
chart.set_source_data(sht.range('A1').expand())
chart.chart_type=i
chart.api[1].ChartTitle.Text=i
n+=1
wb.save('chart_图表')
wb.close()
app.quit()
总结
以上所述是小编给大家介绍的python用xlwings库生成图表的操作方法,希望对大家有所帮助!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。