YangDoYe 2024-04-25 17:42 采纳率: 0%
浏览 3
已结题

数据可视化Python

img


如图所示,代码如何实现,添加销售增长率的问题被卡主然后第二张图是效果图

  • 写回答

18条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-04-25 17:42
    关注
    获得0.45元问题酬金

    引自免费微信小程序:皆我百晓生

    为实现您所描述的数据可视化任务,我将为您提供所需的Python代码。由于文字描述中未附带实际数据,我将根据您的描述编写示例代码。请将您的实际数据替换到代码中的相应位置。以下是完成任务所需的代码:

    任务一

    import matplotlib.pyplot as plt
    import numpy as np
    
    # 设置中文字体
    plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置为中文黑体
    plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示为方块的问题
    # 假设您的数据存储在以下字典中
    data = {
        '学号': '001',
        '姓名': '张三',
        '销售额': [23932, 26739, 30376, 34893],
        '利润': [6843, 7820, 7650, 9291],
        '利润增长率': [12.63, 14.28, -0.45, 12.0],
        '季度': ['7月', '8月', '9月', '10月'],
        '商品名称': ['奥利奥', '王老吉', '旺旺牛奶', '安慕希', '伊利纯牛奶'],
        '销售数量': [123, 73, 26, 101, 60]
    }
    
    # 子图表1
    fig, ax1 = plt.subplots()
    
    ax1.bar(data['季度'], data['销售额'], label='销售额')
    ax1.set_xlabel('季度')
    ax1.set_ylabel('销售额')
    ax1.tick_params(axis='y', labelcolor='tab:blue')
    
    ax2 = ax1.twinx()
    ax2.plot(data['季度'], data['利润增长率'], color='tab:red', marker='o', label='利润增长率')
    ax2.set_ylabel('利润增长率 (%)', color='tab:red')
    ax2.tick_params(axis='y', labelcolor='tab:red')
    
    fig.suptitle(f'{data["学号"]} + {data["姓名"]}')
    
    ax1.legend(loc=2)
    ax2.legend(loc=1)
    
    # 子图表2
    plt.figure()
    plt.pie(data['销售数量'], labels=data['商品名称'], autopct='%1.1f%%', startangle=90, textprops={'fontsize': 8})
    plt.title('Top5销售占比')
    
    # 子图表3
    z = np.linspace(-np.pi, np.pi, 100)
    x = np.sin(z)
    y = 2 * np.cos(2 * z) + np.sin(2 * z)
    
    plt.figure()
    ax = plt.axes(projection='3d')
    ax.plot(x, y, z, label='3D Curve')
    ax.set_xlabel('X')
    ax.set_ylabel('Y')
    ax.set_zlabel('Z')
    ax.set_title('学号+姓名')
    
    plt.show()
    

    任务二

    对于图像处理部分,您的描述涉及图像操作(如截取、上下翻转),这需要使用PIL库。然而,此处仅提供文本环境,无法展示图片及执行图像操作。如果您有实际代码执行环境,可以参考以下代码实现:

    from PIL import Image
    
    # 假设您的图片路径为image_path
    image_path = 'path/to/your/image.jpg'
    
    # 加载图片
    img = Image.open(image_path)
    
    # 截取左边1/3
    left_third = img.crop((0, 0, img.width // 3, img.height))
    
    # 上下翻转
    flipped_left_third = left_third.transpose(Image.FLIP_TOP_BOTTOM)
    
    # 将原始图片和处理后图片并排显示
    combined_image = Image.new('RGB', (img.width, img.height * 2))
    combined_image.paste(img, (0, 0))
    combined_image.paste(flipped_left_third, (0, img.height))
    
    combined_image.save('result_image.jpg')
    

    以上代码中,image_path应替换为您要处理的实际图片路径。运行这段代码后,名为result_image.jpg的文件将保存处理后的结果。

    请根据实际情况调整上述代码,将其应用于您的实际数据和图片,并按照要求打包提交。

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月3日
  • 创建了问题 4月25日

悬赏问题

  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?