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

发布时间:2024年01月15日
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()   # 显示绘制的图表

文章来源:https://blog.csdn.net/irisMoon06/article/details/135593156
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。