当前位置: 首页 > news >正文

Python学习之使用pycharts

简介:

通过读取【charts_demo.xlsx】文件数据,使用pycharts生成名为【page_simple_layout.html】的HTML图表。

from pyecharts.charts import Bar,Page from pyecharts import options as opts from openpyxl import load_workbook import numpy as np import math from pyecharts.globals import ThemeType import os #split the arr into N chunks def chunks(arr, m): n = int(math.ceil(len(arr) / float(m))) return [arr[i:i + n] for i in range(0, len(arr), n)] def build_bar(): hor_num = ws['C5'].value ord_num = ws['C4'].value xtype=[] xline=[] yline=[] yline2=[[]] for col in ws.iter_cols(min_col=8, max_col=8+ord_num-1, min_row=3, max_row=3): for cell in col: xtype.append(cell.value) for col in ws.iter_cols(min_col=7, max_col=7, min_row=4, max_row=hor_num+3): for cell in col: xline.append(cell.value) for col in ws.iter_cols(min_col=8, max_col=8+ord_num-1, min_row=4, max_row=hor_num+3): for cell in col: yline.append(format((cell.value),'.0f'))#yline.append(format((cell.value),'.1f')) yline2 = chunks(yline,ord_num) #print(xtype) #print(xline) #print(yline) #print(yline2) bar2 = Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT,width='1200px')) #修改源文件使保存的图片背景为白色 opts.ToolBoxFeatureSaveAsImageOpts(background_color="white") bar2.add_xaxis(xline) j=0 for i in yline2: bar2.add_yaxis(xtype[j],i) j=j+1 if j>3: j=0 bar2.set_global_opts( title_opts=opts.TitleOpts(title=str(ws['G3'].value)), tooltip_opts=opts.TooltipOpts(trigger="axis"), toolbox_opts=opts.ToolboxOpts(is_show=True,feature=opts.ToolBoxFeatureOpts(save_as_image=opts.ToolBoxFeatureSaveAsImageOpts(background_color="#F7F7F7"))), xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=True), #datazoom_opts=opts.DataZoomOpts(range_start=10,range_end=90), # 坐标轴进行缩放 ) return bar2 excel_name = "charts_demo.xlsx" html_name = "page_simple_layout.html" if __name__=='__main__': current_path = os.getcwd() excel_path = current_path+"\\"+excel_name html_patch = current_path+"\\"+html_name wb = load_workbook(excel_path, data_only=True) ws=wb['Sheet1'] # 简单布局 page = Page(layout=Page.SimplePageLayout) # 将上面定义好的图添加到 page page.add(build_bar()) page.render(html_patch) print('finish')

通过指定单元格G3的内容为图表名称,指定纵坐标个数【语文、数学、总分】,横坐标个数【张三、李四、王五、赵六、孙七、周八、吴九】:

运行py程序后,可以通过右上角一排按钮转换为折线图、柱状图,保存图片等。效果如下:

http://www.cnnetsun.cn/news/108326.html

相关文章:

  • Three.js沉浸式数字展馆开发终极指南:从零构建Web3D交互体验
  • 9、Eclipse集成开发环境使用指南
  • EnergyPlus 建筑能源模拟完整指南:从基础原理到高级应用
  • One-Core-API项目:让Windows XP/2003系统重获新生的革命性解决方案
  • 轻松高效生成音频字幕:OpenLRC完整指南与多语言LRC文件制作
  • 鸿蒙投屏神器HOScrcpy:5分钟快速上手完整指南
  • 从零到一:全栈FastAPI项目部署实战指南
  • 刚刚发布!中信所发布2025年度国际期刊预警名单
  • OCLP-Mod技术解析:为老旧Mac注入新活力的完整方案
  • QuickLook视频预览优化指南:3分钟解决所有播放问题
  • macOS开源应用终极指南:免费工具集合实现效率飞跃
  • 从零构建:BewlyBewly多语言架构深度解析与实战指南
  • 智能家居控制反馈语音:由EmotiVoice驱动
  • Unitree机器人Python控制终极指南:快速掌握unitree_sdk2_python
  • 三步搞定!B站8K超清视频下载神器bilidown使用指南
  • 深度学习模型扩展实践:从理论突破到工业部署的完整指南
  • 如何快速配置Git项目:跨平台开发的终极指南
  • Clay UI库如何实现微秒级响应的高性能交互系统?
  • OkHttp跨平台网络库:构建多端统一API的高性能连接管理方案
  • 商城App标签选择组件开发,如何React Native鸿蒙跨平台开发`react-native-tags`是一个流行的React Native库,用于实现标签选择功能
  • Dolphin智能文档解析:三步告别PDF转Markdown的烦恼
  • 17、邮件安全与Procmail使用指南
  • EmotiVoice语音合成情感冲突规避机制:避免怪异混合情绪
  • GP2040-CE开源固件:构建高性能定制化游戏控制器解决方案
  • GoScan:让网络扫描变得简单高效的终极指南
  • 开发者必看:EmotiVoice源码结构与二次开发入门指南
  • XCOM V2.6串口调试工具:嵌入式开发的得力助手
  • Obsidian Tasks 插件:重塑知识库任务管理的新范式
  • Android键盘状态监听实战指南:从基础到进阶
  • 解锁细胞分割新高度:Cellpose cyto3模型完整应用手册