pyhton3中通过matplotlib做图表,导入excel制成图表

1、导入数据制作散点图
import pandas as pd                           # 导入pandas模块
import matplotlib.pyplot as plt               # 导入matplotlib模块
import xlwings as xw                          # 导入matplotlib模块
df = pd.read_excel('销售业绩表.xlsx')          # 从指定工作簿中获取数据
figure = plt.figure()                         # 绘制一个绘图窗口
plt.rcParams['font.sans-serif'] = ['SimHei']  # 为图表的中文文本设置默认字体,以避免中文显示乱码问题
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标值为复数时无法显示负号的问题
 
x = df['月份']        # 指定’月份‘列为X轴
y = df['销售额']      # 指定’销售额‘列为Y轴
 
plt.scatter(x, y, s=500, color='red', marker='*', label = '销售额')    # 制作散点图
plt.legend(loc = 'upper left', fontsize = 20)    # 添加并设置图例
 
# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 30}, loc = 'left')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
# plt.show()           # 直接显示图表
 
app = xw.App(visible = False)                  # 启动Excel程序
workbook = app.books.open('销售业绩表.xlsx')    # 打开要插入图表的工作铺
worksheet = workbook.sheets['销售业绩']         # 选中要插入图表的工作表
worksheet.pictures.add(figure, left=500)     # 在工作铺中插入散点图
workbook.save()        # 保存工作铺
workbook.close()       # 关闭工作铺
app.quit()             # 退出程序
 
2、导入数据制作柱形图
import pandas as pd                           # 导入pandas模块
import matplotlib.pyplot as plt               # 导入matplotlib模块
import xlwings as xw                          # 导入matplotlib模块
df = pd.read_excel('销售业绩表.xlsx')          # 从指定工作簿中获取数据
figure = plt.figure()                         # 绘制一个绘图窗口
plt.rcParams['font.sans-serif'] = ['SimHei']  # 为图表的中文文本设置默认字体,以避免中文显示乱码问题
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标值为复数时无法显示负号的问题
 
x = df['月份']        # 指定’月份‘列为X轴
y = df['销售额']      # 指定’销售额‘列为Y轴
 
plt.bar(x, y, color='red', label = '销售额')    # 制作柱形图,添加图例
plt.legend(loc = 'upper left', fontsize = 20)    # 添加并设置图例
 
# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 30}, loc = 'left')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
 
# 添加并设置数据标签
for a,b in zip(x, y):
    plt.text(a, b, b, fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size': 20})
# plt.show()           # 直接显示图表
 
app = xw.App(visible = False)                  # 启动Excel程序
workbook = app.books.open('销售业绩表.xlsx')    # 打开要插入图表的工作铺
worksheet = workbook.sheets['销售业绩']         # 选中要插入图表的工作表
worksheet.pictures.add(figure, left=500)     # 在工作铺中插入柱形图
workbook.save()        # 保存工作铺
workbook.close()       # 关闭工作铺
app.quit()             # 退出程序
3、导入数据制作面积图
import pandas as pd                           # 导入pandas模块
import matplotlib.pyplot as plt               # 导入matplotlib模块
import xlwings as xw                          # 导入matplotlib模块
df = pd.read_excel('销售业绩表.xlsx')          # 从指定工作簿中获取数据
figure = plt.figure()                         # 绘制一个绘图窗口
plt.rcParams['font.sans-serif'] = ['SimHei']  # 为图表的中文文本设置默认字体,以避免中文显示乱码问题
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标值为复数时无法显示负号的问题
 
x = df['月份']        # 指定’月份‘列为X轴
y = df['销售额']      # 指定’销售额‘列为Y轴
plt.stackplot(x, y, color='red')    # 制作面积图
 
# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 30}, loc = 'left')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
# plt.show()           # 直接显示图表
 
app = xw.App(visible = False)                  # 启动Excel程序
workbook = app.books.open('销售业绩表.xlsx')    # 打开要插入图表的工作铺
worksheet = workbook.sheets['销售业绩']         # 选中要插入图表的工作表
worksheet.pictures.add(figure, left=500)     # 在工作铺中插入面积图
workbook.save()        # 保存工作铺
workbook.close()       # 关闭工作铺
app.quit()             # 退出程序
 
4、导入数据制作折线图
import pandas as pd                           # 导入pandas模块
import matplotlib.pyplot as plt               # 导入matplotlib模块
df = pd.read_excel('销售业绩表.xlsx')          # 从指定工作簿中获取数据
plt.rcParams['font.sans-serif'] = ['SimHei']  # 为图表的中文文本设置默认字体,以避免中文显示乱码问题
plt.rcParams['axes.unicode_minus'] = False    # 解决坐标值为复数时无法显示负号的问题
 
# 设置X轴和Y轴数据
x = df['月份']
y = df['销售额']
 
# 绘制折线图
plt.plot(x, y, color = 'red', linewidth = 3, linestyle = 'solid')
plt.grid(b = True, axis = 'y', color = 'red', linestyle = 'dashed', linewidth = 1)   # 添加网格线
# plt.ylim(0, 1200000)     # 设置Y轴的取值范围
 
# 添加并设置图表标题、X轴标题、Y轴标题
plt.title(label = '各月销售额对比图', fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size' : 30}, loc = 'left')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
 
# 添加并设置数据标签
for a,b in zip(x, y):
    plt.text(a, b, b, fontdict = {'family' : 'KaiTi', 'color' : 'red', 'size': 20})
plt.show()   # 显示绘制的图表

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值