• Python3-excel文档操作(六):利用openpyxl库处理excel表格:Excel可视化,折线图


    1.简介:

    本篇介绍openpyxl库可视化在Excel中,折线图的展示。

    2.举例:

    公司“2022前半年产品销量走势图” 的折线图展示:

    相关代码如下:

    openxls_axis.py:

    1. import os
    2. import sys
    3. from datetime import date
    4. from openpyxl import Workbook
    5. from openpyxl.chart import LineChart, Reference
    6. from openpyxl.chart.axis import DateAxis
    7. #初始化Workbook
    8. wb = Workbook(write_only=True)
    9. ws = wb.create_sheet()
    10. ws = wb.active
    11. #创建数据
    12. rows = [
    13. ['Date', '小米1', '小米2', '红米'],
    14. [date(2022,1,1), 40, 30, 25],
    15. [date(2022,2,1), 40, 25, 30],
    16. [date(2022,3,1), 50, 30, 45],
    17. [date(2022,4,1), 30, 25, 40],
    18. [date(2022,5,1), 25, 35, 30],
    19. [date(2022,6,1), 20, 40, 35],
    20. ]
    21. #添加数据到excel
    22. for row in rows:
    23. ws.append(row)
    24. # 建立折线图
    25. chart = LineChart()
    26. chart.title = "2022前半年产品销量走势图"
    27. chart.style = 13
    28. chart.y_axis.title = '销量'
    29. chart.x_axis.title = '月份'
    30. # 参照值
    31. data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=7)
    32. chart.add_data(data, titles_from_data=True)
    33. #line1
    34. s1 = chart.series[0]
    35. s1.marker.symbol = "triangle" # 三角形
    36. s1.marker.graphicalProperties.solidFill = "FF1100" # 填满颜色
    37. s1.marker.graphicalProperties.line.solidFill = "FF1100" # 外框线条颜色
    38. s1.graphicalProperties.line.noFill = True
    39. #line2
    40. s2 = chart.series[1]
    41. s2.graphicalProperties.line.solidFill = "111111"
    42. s2.graphicalProperties.line.dashStyle = "sysDot"
    43. s2.graphicalProperties.line.width = 100050 # 线条宽度,单位为 EMUs
    44. #line3
    45. s3 = chart.series[2]
    46. s2.graphicalProperties.line.solidFill = "1111FF"
    47. s3.smooth = True # 让线条平滑
    48. #添加
    49. ws.add_chart(chart, "A9")
    50. #保存文件
    51. wb.save("xiaomi_line.xlsx")

    运行效果:

    % python3 openxls_axis.py

    结果:会生成xiaomi_line.xlsx文件。

    xiaomi_line.xlsx文件内容:

     说明:

    (1)chart = LineChart(): 创建折线图chart;它的常用属性和方法:

    chart.title:标题
    chart.y_axis.title:y坐标的标题
    chart.x_axis.title:x坐标的标题

    chart.add_data:添加数据

    (2)chart.series[0]: 折线图中的线条,其常用的属性和方法:

    s1.marker.symbol: 线条形状:

          triangle:三角形

    s3.smooth:线条是否平滑

    3 openpyxl库常用的图形类型:

    Area Charts: 面积图
    Bar and Column Charts : 转置直方图
    Bubble Charts:气泡图
    Line Charts: 直线图
    Scatter Charts: 散点图
    Pie Charts: 饼状图
    Doughnut Charts: 环形图
    Radar Charts: 雷达图
    Stock Charts: 股票趋势图
    Surface Charts:曲面图
    column: 柱状图


  • 相关阅读:
    《深入浅出Spring》父子容器
    国内首家!阿里云 Elasticsearch 8.9 版本释放 AI 搜索新动能
    Python:基础&爬虫
    生活中的视音频技术
    [golang 微服务] 1.单体式架构以及微服务架构介绍
    CocosCreator3.8研究笔记(二十五)CocosCreator 动画系统-2d骨骼动画spine
    MySQL数据库维护管理与备份实战
    排序算法:非比较排序(计数排序)
    深度学习系列47:styleGAN总结
    【区块链 | Compound】5.剖析DeFi借贷产品之Compound:延伸篇
  • 原文地址:https://blog.csdn.net/liranke/article/details/126298606