基于python的图表生成系统,python如何生成excel图表

大家好,本文将围绕基于python的图表生成系统展开说明,python如何生成excel图表是一个很多人都想弄明白的事情,想搞清楚python操作excel生成图表需要先了解以下几个事情。

本篇文章给大家谈谈python如何生成excel图表,以及python图形界面生成exe,希望对各位有所帮助,不要忘了收藏本站喔。

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

import xlwings as xw
app = xw.App(visible=True, add_book=False)
workbook = app.books.open('员工销售业绩统计表.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('柱形图.xlsx')
workbook.close()
app.quit()

运行结果打开柱形图.xlsx即可查看

 用特定含义的字符串来指定图表类型,常用图表类型对应的字符串如下:

图表类型 字符串 图表类型 字符串
柱形图 ‘column_clustered' 饼图

'pie'

条形图 'bar_clustered' 圆环图 ‘doughnut’
折线图 ‘line’ 散点图 ‘xy_scatter'
面积图 ’area‘ 雷达图 ’radar‘
批量制作条形图
import xlwings as xw
app = xw.App(visible = True, add_book = False)
workbook = app.books.open('员工销售业绩统计表.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('table'))
    chart.chart_type = 'bar_clustered' # 制作条形图
workbook.save('条形图.xlsx')
workbook.close()
app.quit()

案例02 制作折线图展示数据的变化趋势——月销售表.xlsx

import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('月销售表.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(label = '月销售额趋势图', fontdict = {'color' : 'black', 'size' : 30}, 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')  # 隐藏坐标轴
app = xw.App(visible = False)  # 启动Excel程序
workbook = app.books.open('月销售表.xlsx')  # 打开要插入图表的工作簿
worksheet = workbook.sheets['Sheet1']   #选中工作表”Sheet1“
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200) # 在工作表中插入制作的折线图
workbook.save('折线图.xlsx')
workbook.close()
app.quit()

运行结果:

axis()函数的参数值为’off’时表示不显示图表坐标轴,为‘on'时表示显示图表坐标轴  

制作折线图并为最高点添加数据标签
import pandas as pd
import matplotlib.pyplot as plt
import xlwings as xw
df = pd.read_excel('月销售表.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(label = '月销售额趋势图', fontdict = {'color' : 'black', 'size' : 30}, loc = 'center') # 添加并设置图表标题
max1 = df['销售额'].max() # 获取最高销售额
df_max = df[df['销售额']== max1]  # 选取最高销售额对应的行数据
for a,b in zip(df_max['月份'],df_max['销售额']): # 遍历折线图表标题
    plt.text(a, b + 0.05, (a, '%.0f' % b), ha = 'center
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值