python 用 xlwings 庫(kù) 生成圖表的操作方法
xlwings是一個(gè)獲得BSD許可的Python庫(kù),可以很容易地從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 # 用來(lái)設(shè)置圖表類型,具體參數(shù)件下面詳細(xì)說(shuō)明。 chart.api[1].ChartTitle.Text = i # 用來(lá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è),無(wú)法生成對(duì)應(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 # 用來(lái)生成圖表放置的x坐標(biāo)。 yy = y + n//3*h # 用來(lái)生成圖表放置的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 庫(kù) 生成圖表的操作方法,希望對(duì)大家有所幫助!
相關(guān)文章
Python3.6.0+opencv3.3.0人臉檢測(cè)示例
這篇文章主要為大家詳細(xì)介紹了Python3.6.0+opencv3.3.0人臉檢測(cè)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作
這篇文章主要介紹了Pytorch模型遷移和遷移學(xué)習(xí),導(dǎo)入部分模型參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Python中PyExecJS(執(zhí)行JS代碼庫(kù))的具體使用
pyexecjs是一個(gè)用Python來(lái)執(zhí)行JavaScript代碼的工具庫(kù),本文主要介紹了Python中PyExecJS(執(zhí)行JS代碼庫(kù))的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02基于Python實(shí)現(xiàn)最新房?jī)r(jià)信息的獲取
這篇文章主要為大家介紹了如何利用Python獲取房?jī)r(jià)信息(以北京為例),整個(gè)數(shù)據(jù)獲取的信息是通過(guò)房源平臺(tái)獲取的,通過(guò)下載網(wǎng)頁(yè)元素并進(jìn)行數(shù)據(jù)提取分析完成整個(gè)過(guò)程,需要的可以參考一下2022-04-04在python中實(shí)現(xiàn)將一張圖片剪切成四份的方法
今天小編就為大家分享一篇在python中實(shí)現(xiàn)將一張圖片剪切成四份的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12使用Python制作一個(gè)簡(jiǎn)易的遠(yuǎn)控終端
這篇文章主要為大家詳細(xì)介紹了如何使用Python語(yǔ)言制作一個(gè)簡(jiǎn)易的遠(yuǎn)控終端,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的可以了解一下2023-04-04Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法
這篇文章主要為大家介紹了Python?類中定義多個(gè)構(gòu)造器方法重載與泛方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03