5基于matplotlib的python数据可视化——导入Excel数据制作折线图

该博客介绍了如何使用Python的pandas和matplotlib库制作折线图来展示数据变化趋势。内容包括:1) 制作基本折线图并添加数据标签;2) 在折线图上标记最高点的数据;3) 利用scipy库实现平滑折线图,以更直观地展示月销售数据的变化。通过这些方法,可以更好地理解和分析数据的波动情况。
摘要由CSDN通过智能技术生成

目录

折线图制作

1、制作折线图展示数据变化趋势

2、制作折线图并为最高点添加数据标签

3、制作平滑的折线图


折线图制作

月销售表https://download.csdn.net/download/weixin_44940488/19230071

1、制作折线图展示数据变化趋势

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轴和Y轴数据标签
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')   # 隐藏坐标轴
# plt.show()       # 直接显示图表

# 将图表保存到工作簿中
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()                       # 退出Excel程序

2、制作折线图并为最高点添加数据标签

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', va = 'bottom', fontsize = 10)
# plt.show()

# 将图表保存到工作簿中将图表保存到工作簿中
app = xw.App(visible = False)
workbook = app.books.open('月销售表.xlsx')
worksheet = workbook.sheets['Sheet1']
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save('显示最高点数据标签的折线图.xlsx')
workbook.close()
app.quit()

3、制作平滑的折线图

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('月销售表.xlsx')
figure = plt.figure()  
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

x = df['月份']
y = df['销售额']
xnew = np.arange(1, 12, 0.1)
func = interpolate.interp1d(x, y, kind = 'cubic')
ynew = func(xnew)

plt.plot(xnew, ynew, color = 'red', linewidth = '3', linestyle = 'solid')    # 绘制平滑折线图
plt.title(label = '月销售额趋势图',fontdict = {'color' : 'black', 'size' : 30}, loc = 'center')
plt.xlabel('月份', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)  
plt.ylabel('销售额', fontdict = {'family' : 'SimSun', 'color' : 'black', 'size' : 20}, labelpad = 20)
plt.xlim(0, 12)    # 设置图表X的取值范围
# plt.show()

# 将图表保存到工作簿中
app = xw.App(visible = False)
workbook = app.books.open('月销售表.xlsx')
worksheet = workbook.sheets['Sheet1']
worksheet.pictures.add(figure, name = '图片1', update = True, left = 200)
workbook.save('平滑折线图.xlsx')
workbook.close()
app.quit()

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简时刻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值