python 用 xlwings 庫 生成圖表的操作方法
xlwings是一個(gè)獲得BSD許可的Python庫,可以很容易地從Excel調(diào)用Python,反之亦然。 它適用于Windows和Mac上的Microsoft Excel。
在官方文檔里找不到具體怎么生成圖表,和一些參數(shù)設(shè)置。
這里自己整理了一下。
import xlwings as xw
app = xw.App()
wb = app.books.active
sht = wb.sheets.active
chart = sht.charts.add(100, 10) # 100, 10 為圖表放置的位置坐標(biāo)。以像素為單位。
chart.set_source_data(sht.range('A1').expand()) # 參數(shù)為表格中的數(shù)據(jù)區(qū)域。
# chart.chart_type = i # 用來設(shè)置圖表類型,具體參數(shù)件下面詳細(xì)說明。
chart.api[1].ChartTitle.Text = i # 用來設(shè)置圖表的標(biāo)題。
下面是所有圖表類型:
import xlwings as xw
app = xw.App()
wb = app.books.active
sht = wb.sheets.active
# 生成圖表的數(shù)據(jù)
sht.range('A1').value = [['時(shí)間', '數(shù)量'], ['1日', 2], ['2日', 1], ['3日', 3]
, ['4日', 4], ['5日', 5], ['6日', 6]]
"""圖表類型參數(shù),被注釋的那幾個(gè),無法生成對應(yīng)的圖表"""
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
for i in dic.keys():
xx = x + n % 3*w # 用來生成圖表放置的x坐標(biāo)。
yy = y + n//3*h # 用來生成圖表放置的y坐標(biāo)。
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()
總結(jié)
以上所述是小編給大家介紹的python 用 xlwings 庫 生成圖表的操作方法,希望對大家有所幫助!
相關(guān)文章
Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作
這篇文章主要介紹了Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用
pyexecjs是一個(gè)用Python來執(zhí)行JavaScript代碼的工具庫,本文主要介紹了Python中PyExecJS(執(zhí)行JS代碼庫)的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
基于Python實(shí)現(xiàn)最新房價(jià)信息的獲取
這篇文章主要為大家介紹了如何利用Python獲取房價(jià)信息(以北京為例),整個(gè)數(shù)據(jù)獲取的信息是通過房源平臺獲取的,通過下載網(wǎng)頁元素并進(jìn)行數(shù)據(jù)提取分析完成整個(gè)過程,需要的可以參考一下2022-04-04
在python中實(shí)現(xiàn)將一張圖片剪切成四份的方法
今天小編就為大家分享一篇在python中實(shí)現(xiàn)將一張圖片剪切成四份的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法
這篇文章主要為大家介紹了Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

