用AI帮我实现产品月度销售雷达图
立即下载
资源介绍:
用于测试的资源文件和结果文件
#-------------------------------------------------------------
# import pandas as pd
# import numpy as np
# import matplotlib.pyplot as plt
#
# # 假设Excel文件的内容已经是DataFrame格式,这里我们手动创建一个类似的DataFrame
# data = {
# '月份': ['1月', '2月', '3月', '4月', '5月', '6月',
# '7月', '8月', '9月', '10月', '11月', '12月'],
# '合计': [190, 155, 135, 175, 155, 195, 115, 155, 165, 145, 185, 165]
# }
# df = pd.DataFrame(data)
#
# # 提取月份和销售总额
# months = df['月份']
# sales_totals = df['合计']
#
# # 准备雷达图的数据
# # 由于雷达图需要每个轴的数据点数量相同,我们使用月份列表
# categories = months
#
# # 创建雷达图
# fig, ax = plt.subplots(figsize=(6, 6), subplot_kw=dict(polar=True))
#
# # 绘制雷达图
# ax.plot(categories, sales_totals, color='red', linewidth=2) # 绘制线
# ax.fill(categories, sales_totals, color='red', alpha=0.25) # 填充颜色
#
# # 设置雷达图的刻度和标签
# ax.set_xticks(np.arange(0, 2 * len(months), 2))
# ax.set_xticklabels(months)
#
# # 设置雷达图的范围
# ax.set_ylim(0, max(sales_totals) + 10)
#
# # 设置雷达图的标题
# plt.title("月度销售合计雷达图")
#
# #显示雷达图
# plt.show()
#-------------------------------------------------------------
from pyecharts.charts import Radar
from pyecharts import options as opts
import pandas as pd
# 假设Excel文件的内容已经是DataFrame格式,这里我们手动创建一个类似的数据结构
data = {
'月份': ['1月', '2月', '3月', '4月', '5月', '6月',
'7月', '8月', '9月', '10月', '11月', '12月'],
'合计': [190, 155, 135, 175, 155, 195, 115, 155, 165, 145, 185, 165]
}
df = pd.DataFrame(data)
# 提取月份作为指标(雷达图的轴)
indicators = df['月份'].tolist()
# 提取销售总额作为数据
data = [df['合计'].tolist()]
# 创建雷达图
radar = (
Radar()
.add_schema(
schema=indicators # 设置雷达图的指标
)
.add(
series_name="销售总额", # 数据系列的名称
data=data, # 数据
color="red", # 颜色
# 线条和标签的样式
label_opts=opts.LabelOpts(is_show=False),
linestyle_opts=opts.LineStyleOpts(width=2)
)
.set_global_opts(
title_opts=opts.TitleOpts(title="月度销售合计雷达图"), # 设置图表标题
legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%") # 图例位置
)
)
# 渲染图表到HTML文件中
radar.render('monthly_sales_radar_chart.html')
# from pyecharts.charts import Radar
# from pyecharts import options as opts
# import pandas as pd
#
# # 模拟从Excel读取的数据
# data = {
# '月份': ['1月', '2月', '3月', '4月', '5月', '6月',
# '7月', '8月', '9月', '10月', '11月', '12月'],
# '合计': [190, 155, 135, 175, 155, 195, 115, 155, 165, 145, 185, 165]
# }
# df = pd.DataFrame(data)
#
# # 创建雷达图
# radar = (
# Radar()
# .add_schema(
# schema=[{"name": month, "max": 200} for month in df['月份'].tolist()] # 设置雷达图的指标和最大值
# )
# .add(
# "销售总额", # 系列名称
# [df['合计'].tolist()], # 数据
# color="red", # 颜色
# label_opts=opts.LabelOpts(is_show=False) # 不显示数据标签
# )
# .set_global_opts(
# title_opts=opts.TitleOpts(title="月度销售合计雷达图", pos_left="center"),
# legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
# toolbox_opts=opts.ToolboxOpts(feature=opts.ToolBoxFeatureOpts(save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(type_='png')))
# )
# .set_series_opts(
# tooltip_opts=opts.TooltipOpts(trigger_on="item", position="top")
# )
# )
#
# # 渲染图表到HTML文件中,并指定字符集为UTF-8
# radar.render('monthly_sales_radar_chart.html', charset='utf-8')
# import pandas as pd
# from pyecharts.charts import Radar
# from pyecharts import options as opts
# from pyecharts.globals import ThemeType
#
# # 模拟从Excel读取的数据
# data = {
# '月份': ['1月', '2月', '3月', '4月', '5月', '6月',
# '7月', '8月', '9月', '10月', '11月', '12月'],
# '合计': [190, 155, 135, 175, 155, 195, 115, 155, 165, 145, 185, 165]
# }
# df = pd.DataFrame(data)
#
# # 创建雷达图
# radar = (
# Radar()
# .add_schema(
# schema=[{"name": month} for month in df['月份'].tolist()], # 设置雷达图的指标
# radius="120%" # 设置雷达图的半径
# )
# .add(
# "销售总额", # 系列名称
# [df['合计'].tolist()], # 数据
# color="#f4e925", # 数据点颜色
# label_opts=opts.LabelOpts(is_show=True, position="top") # 显示数据标签
# )
# .set_global_opts(
# title_opts=opts.TitleOpts(title="月度销售合计雷达图"), # 图表标题
# legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"), # 图例位置
# toolbox_opts=opts.ToolboxOpts(feature=opts.ToolBoxFeatureOpts(save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(type_='png'))) # 工具箱
# )
# .set_series_opts(
# tooltip_opts=opts.TooltipOpts(trigger_on="item", position="top") # 提示框设置
# )
# .set_options(
# radar_opts=opts.RadarOpts(
# axislabel_color="#333", # 轴标签颜色
# axisline_style_opts=opts.LineStyleOpts(width=2, color="#ccc"), # 轴线样式
# splitline_style_opts=opts.SplitLineOpts(is_show=True, lineStyle_opts=opts.LineStyleOpts(width=1, color="#ccc")), # 分隔线样式
# splitarea_color=["rgba(250, 93, 93, 0.5)", "rgba(58, 170, 221, 0.5)"] # 分隔区域颜色,实现渐变效果
# )
# )
# )
#
# # 渲染图表到HTML文件中
# radar.render('monthly_sales_radar_chart.html')
# from pyecharts.charts import Radar
# from pyecharts import options as opts
# import pandas as pd
#
# # 模拟从Excel读取的数据
# data = {
# '月份': ['1月', '2月', '3月', '4月', '5月', '6月',
# '7月', '8月', '9月', '10月', '11月', '12月'],
# '合计': [190, 155, 135, 175, 155, 195, 115, 155, 165, 145, 185, 165]
# }
# df = pd.DataFrame(data)
#
# # 创建雷达图
# radar = (
# Radar()
# .add_schema(
# # 设置雷达图的指标和最大值,指标名称按顺时针排列
# schema=[{"name": month, "max": 200} for month in df['月份'].tolist()] * 2 # 乘以2实现顺时针
# )
# .add(
# "销售总额", # 系列名称
# [df['合计'].tolist()], # 数据
# color="red", # 颜色
# label_opts=opts.LabelOpts(is_show=True, position="top") # 显示数据标签,并设置位置在上方
# )
# .set_global_opts(
# title_opts=opts.TitleOpts(title="月度销售合计雷达图", pos_left="center"),
# legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),
# toolbox_opts=opts.ToolboxOpts(feature=opts.ToolBoxFeatureOpts(save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(type_='png')))
# )
# .set_series_opts(
# tooltip_opts=opts.TooltipOpts(trigger_on="item", position="top")
# )
# )
#
# # 渲染图表到HTML文件中,并指定字符集为UTF-8
# radar.render('monthly_sales_radar_chart.html', charset='utf-8')
# from pyecharts.charts import Radar
# from pyecharts import options as opts
# import pandas as pd
#
# # 模拟从Excel读取的数据
# data = {
# '月份': ['1月', '2月', '3月', '4月', '5月', '6月',
# '7月', '8月', '9月', '10月', '