Python让Excel飞起来

您所在的位置:网站首页 excel如何自动生成折线图表 Python让Excel飞起来

Python让Excel飞起来

2024-07-10 10:21| 来源: 网络整理| 查看: 265

目录

案例01 制作柱形图展示数据的对比关系

举一反三 批量制作条形图

案例02 制作折线图展示数据变化趋势

 举一反三 制作折线图并为最高点添加数据标签

举一反三 制作平滑折线图

案例03 制作散点图判断两组数据的相关性

​举一反三 为散点图添加线性趋势线

举一反三 制作气泡图

案例04 制作饼图展示部分和总体的比例关系

举一反三 制作圆环图

案例05 制作雷达图对比多项指标

举一反三 制作某一品牌性能评价指标雷达图

案例06 制作温度计图展示工作进度

举一反三 制作上半年销售业绩的温度计图

案例01 制作柱形图展示数据的对比关系 代码文件:制作柱形图展示数据的对比关系.py 数据文件:员工销售业绩统计表.xlsx

实现代码:

import xlwings as xw app=xw.App(visible=True,add_book=False) workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\员工销售业绩统计表.xlsx') for i in workbook.sheets: chart=i.charts.add(left=200,top=0,width=355,height=211)#设置图表的位置和尺寸 chart.set_source_data(i['A1'].expand()) chart.chart_type='column_clustered' workbook.save(r'C:\Users\Administrator\Desktop\22\柱形图.xlsx') workbook.close() app.quit() 知识延伸 第 7行代码中用特定含义的字符串来指定图表类型,常用图表类型对应的字符串见下表 举一反三 批量制作条形图 代码文件:批量制作条形图.py 数据文件:员工销售业绩统计表.xlsx 如果想要为工作簿中的所有工作表制作条形图,可以通过以下代码来实现。 import xlwings as xw app=xw.App(visible=True,add_book=False) workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\员工销售业绩统计表.xlsx') for i in workbook.sheets: chart=i.charts.add(left=200,top=0,width=355,height=211)#设置图表的位置和尺寸 chart.set_source_data(i['A1'].expand()) chart.chart_type='bar_clustered' #制作条形图 workbook.save(r'C:\Users\Administrator\Desktop\22\条形图.xlsx') workbook.close() app.quit() 案例02 制作折线图展示数据变化趋势 代码文件:制作折线图展示数据变化趋势.py 数据文件:月销售表.xlsx 虽然 xlwings模块也能制作图表,但要像下图那样添加标题和数据标签,就不如 Matplotlib 模块方便了。

实现代码:

import warnings warnings.filterwarnings("ignore") import xlwings as xw import pandas as pd import matplotlib.pyplot as plt app=xw.App(visible=True,add_book=False) df=pd.read_excel(r'C:\Users\Administrator\Desktop\22\月销售表.xlsx') figure=plt.figure() plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文 plt.rcParams['axes.unicode_minus']=False #正常显示符号 x=df['月份'] y=df['销售额'] plt.plot(x,y,color='red',linewidth=3,linestyle='solid') plt.title('月销售额趋势图',fontdict={'color':'black','size':20},loc='center') #添加并设置图标标题 for a,b in zip(x,y): plt.text(a,b+0.2,(a,'%.0f'%b),ha='center',va='bottom',fontsize=10) #添加并设置数据标签 plt.axis('off') #隐藏坐标轴 workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\月销售表.xlsx') worksheet=workbook.sheets['sheet1'] #选中工作表‘sheet1’ worksheet.pictures.add(figure,name='图片1',update=True,left=200) workbook.save(r'C:\Users\Administrator\Desktop\22\月销售表折线图.xlsx') workbook.close() app.quit()  举一反三 制作折线图并为最高点添加数据标签 代码文件:制作折线图并为最高点添加数据标签.py 数据文件:月销售表.xlsx 在前面制作的折线图中,为每个数据点都添加了数据标签来展示各月的销售额,如果只想展示最高销售额的值,可以通过以下代码为最高点添加数据标签。(df_max['月份'],df_max['销售额'])

import warnings warnings.filterwarnings("ignore") import xlwings as xw import pandas as pd import matplotlib.pyplot as plt app=xw.App(visible=True,add_book=False) df=pd.read_excel(r'C:\Users\Administrator\Desktop\22\月销售表.xlsx') figure=plt.figure() plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文 plt.rcParams['axes.unicode_minus']=False #正常显示符号 x=df['月份'] y=df['销售额'] plt.plot(x,y,color='red',linewidth=3,linestyle='solid') plt.title('月销售额趋势图',fontdict={'color':'black','size':20},loc='center') #添加并设置图标标题 max1=df['销售额'].max() #获取最高点 df_max=df[df['销售额']==max1] #选取最高销售点对应的行数据 for a,b in zip(df_max['月份'],df_max['销售额']): plt.text(a,b+0.2,(a,'%.0f'%b),ha='center',va='bottom',fontsize=10) #添加并设置数据标签 plt.axis('off') #隐藏坐标轴 workbook=app.books.open(r'C:\Users\Administrator\Desktop\22\月销售表.xlsx') worksheet=workbook.sheets['sheet1'] #选中工作表‘sheet1’ worksheet.pictures.add(figure,name='图片1',update=True,left=200) workbook.save(r'C:\Users\Administrator\Desktop\22\月销售表折线图最高点.xlsx') workbook.close() app.quit() 举一反三 制作平滑折线图 代码文件:制作平滑折线图.py 数据文件:月销售表.xlsx 如果想要制作平滑的折线图,可以通过以下代码来实现。 import pandas as pd import matplotlib.pyplot as plt import numpy as np from scipy import interpolate #插值函数 import xlwings as xw df=pd.read_excel(r'C:\Users\Administrator\Desktop\22\月销售表.xlsx') figure=plt.figure()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3