使用GPT生成python图表

首先,生成一脚本,读取到所需的excel表格

import xlrddata = xlrd.open_workbook('xxxx.xls')  # 打开xls文件
table = data.sheet_by_index(0)  # 通过索引获取表格# 初始化奖项字典
awards_dict = {"一等奖": 0,"二等奖": 0,"三等奖": 0
}# 初始化科目字典
subjects_dict = {}# 遍历表格的每一行,跳过表头
for i in range(1, table.nrows):row = table.row_values(i)# 是xx大学才进行处理if row[2] == 'xx大学':# 转为小写,避免首字母不一样带来的误判subject = row[4].lower()# 获得的奖项award = row[5]# 加入字典if subject not in subjects_dict:subjects_dict[subject] = awards_dict.copy()subjects_dict[subject][award] += 1# 将结果写入文件
with open("result.txt", "w") as f:for subject, awards in subjects_dict.items():f.write(f"{subject}\n")for award, count in awards.items():f.write(f"{award}: {count}\n")f.write("\n")

matplotlib

我们要GPT根据上面的代码,用直方图展示xx大学在各个类别中的获奖情况,也就是去对这个文本文件进行数据可视化,于是chatGPT就生成了以下的代码

import xlrd
import matplotlib.pyplot as plt
import numpy as npplt.rcParams['font.sans-serif'] = ['SimHei']    # 设置中文字体,不然显示不了中文
data = xlrd.open_workbook('xxxx.xls')  # 打开xls文件
table = data.sheet_by_index(0)  # 通过索引获取表格# 初始化奖项字典
awards_dict = {"一等奖": 0,"二等奖": 0,"三等奖": 0
}# 初始化科目字典
subjects_dict = {}# 遍历表格的每一行,跳过表头
for i in range(1, table.nrows):row = table.row_values(i)if row[2] == 'xx大学':# 转为小写,避免首字母不一样带来的误判subject = row[4].lower()award = row[5]if subject not in subjects_dict:subjects_dict[subject] = awards_dict.copy()subjects_dict[subject][award] += 1# 直方图展示xx大学在各个类别中的获奖情况
x_labels = subjects_dict.keys()
x = np.arange(len(x_labels))  # 使用numpy的arange生成连续的横坐标值# 提取各个奖项的数量
y_first = [subjects_dict[subject]['一等奖'] for subject in x_labels]
y_second = [subjects_dict[subject]['二等奖'] for subject in x_labels]
y_third = [subjects_dict[subject]['三等奖'] for subject in x_labels]# 设置颜色
color_first = 'skyblue'
color_second = 'lightgreen'
color_third = 'lightcoral'# 绘制直方图
plt.bar(x, y_third, width=0.2, align='center', label='三等奖', color=color_third)
plt.bar(x + 0.2, y_second, width=0.2, align='center', label='二等奖', color=color_second)
plt.bar(x - 0.2, y_first, width=0.2, align='center', label='一等奖', color=color_first)plt.xlabel('类别')
plt.ylabel('获奖数量')
plt.title('xx大学在各个类别中的获奖情况')
plt.xticks(x, x_labels)
plt.legend()# 调整图例位置和边框样式
plt.legend(loc='upper right', frameon=False)# 设置图形背景色
plt.gca().set_facecolor('whitesmoke')# 调整图形布局
plt.tight_layout()plt.show()

pyecharts

pyecharts 是一个用于生成 Echarts 图表的类库。 Echarts 是百度开源的一个数据可视化 JS 库。

import xlrd
from pyecharts.charts import Bar
from pyecharts import options as optsdata = xlrd.open_workbook('xxxx.xls')  # 打开xls文件
table = data.sheet_by_index(0)  # 通过索引获取表格# 初始化奖项字典
awards_dict = {"一等奖": 0,"二等奖": 0,"三等奖": 0
}# 初始化科目字典
subjects_dict = {}# 遍历表格的每一行,跳过表头
for i in range(1, table.nrows):row = table.row_values(i)if row[2] == 'xx大学':# 转为小写,避免首字母不一样带来的误判subject = row[4].lower()award = row[5]if subject not in subjects_dict:subjects_dict[subject] = awards_dict.copy()subjects_dict[subject][award] += 1# 直方图展示xx大学在各个类别中的获奖情况
x_labels = subjects_dict.keys()# 提取各个奖项的数量
y_first = [subjects_dict[subject]['一等奖'] for subject in x_labels]
y_second = [subjects_dict[subject]['二等奖'] for subject in x_labels]
y_third = [subjects_dict[subject]['三等奖'] for subject in x_labels]# 使用 Pyecharts 绘制直方图
bar = (Bar().add_xaxis(list(x_labels)).add_yaxis('一等奖', y_first).add_yaxis('二等奖', y_second).add_yaxis('三等奖', y_third).set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=45)),yaxis_opts=opts.AxisOpts(name='获奖数量'),title_opts=opts.TitleOpts(title='xx大学在各个类别中的获奖情况'),legend_opts=opts.LegendOpts(pos_right='5%', pos_top='20%'))
)# 生成图表并保存为 HTML 文件
bar.render('bar_chart.html')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

three中界面交互gui.js库的使用

gui.js库(可视化改变三维场景) dat.gui.js说白了就是一个前端js库,对HTML、CSS和JavaScript进行了封装,学习开发的时候,借助dat.gui.js可以快速创建控制三维场景的UI交互界面,你打开课件中案例源码体验一下就能感受到。 学习dat…

一元函数微分学——刷题(22

目录 1.题目:2.解题思路和步骤:3.总结:小结: 1.题目: 2.解题思路和步骤: 由于是极坐标方程,所以这个式子一定成立: 然后代入r即可变为参数方程的求导: 3.总结&#xff…

提升应用性能:Go中的同步与异步处理

同步处理 在同步处理方式中,任务按顺序一个接一个地执行。每个任务必须在下一个任务开始之前完成。这意味着如果某个任务需要花费大量时间来完成,它可能会阻塞后续任务的执行,导致潜在的性能瓶颈。 一个简单的现实生活中的例子是两个人在喝啤…

CCAA服务认证基础考试大纲

服务认证基础考试大纲(第1版) 1.总则 本大纲依据 CCAA《服务认证审查员注册准则》制定,适用于拟向CCAA申请注册服务认证审查员级别的人员。 2.考试要求 2.1考试科目 申请注册服务认证审查员级别的人员,需通过“服务认证基础”…

【uni-app】初始化相关配置

(1)工程目录结构 ┌─components uni-app组件目录 │ └─comp-a.vue 可复用的a组件 ├─hybrid 存放本地网页的目录(自建) ├─platforms 存放各平台专用页面的目录(…

【Linux运维系列】vim操作

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

linux系统消息中间件rabbitmq普通集群的部署

rabbitmq普通集群的部署 普通集群准备环境查询版本对应安装rabbitmq软件启动创建登录用户开启用户远程登录查看端口 部署集群创建数据存放目录和日志存放目录:拷⻉erlang.cookie将其他两台服务器作为节点加⼊节点集群中查看集群状态创建新的队列 普通集群准备环境 配置hosts⽂件…

Matlab自学笔记二十七:详解格式化文本sprintf各参数设置方法

1.一个程序引例 上篇文章已经介绍了格式化文本的初步应用,程序示例如下: sprintf(|%f\n|%.2f\n|%8.2f,pi*ones(1,3)) 2.格式化操作符各字段的含义解析 格式化操作符可以有六个字段,只有主字符%和转换格式是必需的,其他都是可选…

数据库安全性与完整性设计

文章标签集合[数据库安全,数据敏感,通信安全,MD5,盐加密] 1 系统设计 1.1设计目标 (1)确定系统中需要保护的敏感数据和通信内容; (2)设计合适的签名、加密和解密算法; (3)实现…

【前端素材】推荐优质后台管理系统Uena平台模板(附源码)

一、需求分析 后台管理系统(或称作管理后台、管理系统、后台管理平台)是一种专门用于管理网站、应用程序或系统后台运营的软件系统。它通常由一系列功能模块组成,为管理员提供了管理、监控和控制网站或应用程序的各个方面的工具和界面。以下…

DAY33--learning English

一、积累 1.testify 2.sanctuary 3.assauslt 4.grocery 5.peg 6.figure 7.carton 8.bruise 9.dangle 10.script 11.lad 12.manipulate 13.molecule 14.shuttle 15.gutter 16.drastic 17.wag 18.rear 19.nail clipper 20.cereal 二、练习 1.牛津原译 Testify v. /ˈtestɪfaɪ…

通配符证书的作用

通配符证书是一种 SSL/TLS 证书,可用于保护多个域(主机),由域名字段中的通配符 (*) 指示。这种证书主要用于具有许多子域的组织。通配符证书对主域及其所有一级子域有效。例如,一个针对 *.example.com 的通配符证书可以…

CleanMyMac2024一款备受赞誉的mac电脑垃圾清理软件

在数字世界中,我们的Mac不仅仅是一台电脑,更是我们工作、娱乐和生活的得力助手。然而,随着时间的推移,系统垃圾、无用文件和缓存不断堆积,让Mac变得迟钝,甚至威胁到我们的数据安全。此刻,您需要…

linux---nginx基础

目录 一、Nginx的概念 二、Nginx常用功能 1、HTTP(正向)代理,反向代理 1.1正向代理 1.2 反向代理 2、负载均衡 2.1 轮询法(默认方法) 2.2 weight权重模式(加权轮询) 2.3 ip_hash 3、web缓存 三、基础特性 四…

Centos配置SSH并禁止密码登录

CentOS8 配置SSH使用密钥登录并禁止密码登录 一、概念 SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 SSH提供两个级别的认证: 基于口令的认证 基于密钥的认证 基本使…

探索低代码开发:编程新时代的开启

低代码开发是一种基于图形化界面和可视化编程的新型软件开发方法,旨在降低软件开发的技术门槛,提高开发效率和灵活性。本文将介绍低代码开发的定义、特点、优势以及示例代码,帮助读者了解低代码开发的概念及其在实际应用中的意义。 1. 什么是…

【Java程序员面试专栏 算法思维】二 高频面试算法题:二分查找

一轮的算法训练完成后,对相关的题目有了一个初步理解了,接下来进行专题训练,以下这些题目就是汇总的高频题目,本篇主要聊聊二分查找,包括基础二分,寻找目标值的左右边界,搜索旋转数组以及波峰,以及x的平方根问题,所以放到一篇Blog中集中练习 题目关键字解题思路时间空…

python实现线下缓存最优算法

对于现代计算机为了加快数据存储速度,一般会采用多级缓存的方法,以最简单的二级缓存来说,数据会存放在两个地方,一个地方就是存在内存当中,另一个存放的地方就是存放在硬盘当中,但是这两个地方数据读取的速…

Spring Boot使用MongoDB详解

点击下载《Spring Boot使用MongoDB详解》 1. 前言 本文将详细介绍如何在Spring Boot项目中集成MongoDB数据库,包括其原理、使用流程、步骤以及完整的代码示例。通过本文,读者将能够了解Spring Boot与MongoDB的集成方式,掌握在Spring Boot应…

matlab滤波器设计

1、内容简介 略 51-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab滤波器设计-butter、ellip、cheby1、cheby2_哔哩哔哩_bilibili 4、参考论文 略