使用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.rhkb.cn/news/264208.html

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

相关文章

消息中间件篇之Kafka-高性能设计

一、高性能设计 消息分区:不受单台服务器的限制,可以不受限的处理更多的数据。 顺序读写:磁盘顺序读写,提升读写效率。 页缓存:把磁盘中的数据缓存到内存中,把对磁盘的访问变为对内存的访问。 零拷贝&a…

计算机网络面经-从浏览器地址栏输入 url 到显示主页的过程?

大概的过程比较简单,但是有很多点可以细挖:DNS解析、TCP三次握手、HTTP报文格式、TCP四次挥手等等。 DNS 解析:将域名解析成对应的 IP 地址。TCP连接:与服务器通过三次握手,建立 TCP 连接向服务器发送 HTTP 请求服务器…

unity hub (第一部)初学配置

1、安装Unity Hub 2、设置中文 3、安装编辑器 4、新建项目 5、新建完成后进入编辑器 6、 编辑器设置中文 editPreferencesLanguages选择中文

2.22 作业

顺序表 运行结果 fun.c #include "fun.h" seq_p create_seq_list() {seq_p L (seq_p)malloc(sizeof(seq_list));if(LNULL){printf("空间申请失败\n");return NULL;}L->len 0; bzero(L,sizeof(L->data)); return L; } int seq_empty(seq_p L) {i…

Linux第63步_为新创建的虚拟机添加必要的目录和安装支持linux系统移植的软件

1、创建必要的目录 输入密码“123456”,登录虚拟机 这个“zgq”,是用户名,也是下面用到的的“zgq”目录。 1)、创建“/home/zgq/linux/”目录 打开终端,进入“/home/zgq/”目录 输入“mkdir linux回车”,创建“/ho…

stream流-> 判定 + 过滤 + 收集

List<HotArticleVo> hotArticleVos hotArticleVoList .stream() .filter(x -> x.getChannelId().equals(wmChannel.getId())).collect(Collectors.toList()); 使用Java 8中的Stream API对一个名为hotArticleVoList的列表进行过滤操作&#xff0c;筛选出符合指定条件…

介绍 PIL+IPython.display+mtcnn for 音视频读取、标注

1. nn.NLLLoss是如何计算误差的? nn.NLLLoss是负对数似然损失函数&#xff0c;用于多分类问题中。它的计算方式如下&#xff1a;首先&#xff0c;对于每个样本&#xff0c;我们需要将其预测结果通过softmax函数转换为概率分布。softmax函数可以将一个向量映射为一个概率分布&…

linux前端部署

安装jdk 配置环境变量 刷新配置文件 source profile source /etc/profile tomcat 解压文件 进去文件启动tomcat 开放tomcat的端口号 访问 curl localhsot:8080 改配置文件 改IP,改数据库名字&#xff0c;密码&#xff0c; 安装数据库 将war包拖进去 访问http:…

解决IDEA git 提交慢的问题

文章目录 前言解决IDEA git 提交慢的问题 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&#xff0c;那欢迎常来啊!!! 解…

【stm32】hal库学习笔记-UART/USART串口通信(超详细!)

【stm32】hal库学习笔记-UART/USART串口通信 hal库驱动函数 CubeMX图形化配置 导入LCD.ioc RTC设置 时钟树配置 设置LSE为RTC时钟源 USART设置 中断设置 程序编写 编写主函数 /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 16, "Demo12_1:USART1-CH340&q…

黑色金属冶炼5G智能工厂数字孪生可视化管控系统,推进金属冶炼行业数字化转型

黑色金属冶炼5G智能工厂数字孪生可视化管控系统&#xff0c;推进金属冶炼行业数字化转型。随着科技的不断发展&#xff0c;数字化转型已经成为各行各业发展的必然趋势。金属冶炼行业作为传统工业的重要组成部分&#xff0c;也面临着数字化转型的挑战和机遇。为了推进金属冶炼行…

基于虚拟力优化的无线传感器网络覆盖率matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 虚拟力优化算法 4.2 覆盖覆盖率计算 5.完整程序 1.程序功能描述 基于虚拟力优化的无线传感器网络覆盖率&#xff0c;仿真输出优化前后的网络覆盖率&#xff0c;覆盖率优化收敛迭代曲线…

【Spring Cloud】高并发带来的问题及常见容错方案

文章目录 高并发带来的问题编写代码修改配置压力测试修改配置&#xff0c;并启动软件添加线程组配置线程并发数添加Http取样配置取样&#xff0c;并启动测试访问message方法观察效果 服务雪崩效应常见容错方案常见的容错思路常见的容错组件 总结 欢迎来到阿Q社区 https://bbs.c…

kafka生产者

1.原理 2.普通异步发送 引入pom&#xff1a; <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.0.0</version></dependency><dependency><g…

【汽车电子】万字详解汽车标定与XCP协议

XCP协议基础 文章目录 XCP协议基础一、引言1.1 什么是标定1.2 什么时候进行标定1.3 标定的意义 二、XCP协议简介2.1 xcp简介2.2 XCP如何加快开发过程&#xff1f;2.3 XCP的主要作用 三、XCP工作过程3.1 工作过程3.2 通讯模型3.3 测量与标定 四、XCP报文解析4.1 数据包报文格式4…

恢复软件哪个好用?记好这3个文件恢复宝藏!

“现在市面上的恢复软件太多啦&#xff01;哪款恢复软件比较好用呢&#xff1f;大家可以给我推荐几个靠谱的恢复软件或者方法吗&#xff1f;感谢&#xff01;” 在日常使用电脑的过程中&#xff0c;文件丢失或删除是一个常见的问题&#xff0c;而恢复软件成为解决这一问题的得力…

Vue:基本命令的使用(代码 + 效果)

文章目录 Hello Vue!el: 挂载点datamethods vue命令v-textv-htmlv-on v-showv-ifv-bindv-forv-model Hello Vue! <!DOCTYPE html> <html><head><title>Hello Vue!</title></head><body><div id"app">{{ message }}…

C语言--贪吃蛇

目录 1. 实现目标2. 需掌握的技术3. Win32 API介绍控制台程序控制台屏幕上的坐标COORDGetStdHandleGetConsoleCursorinfoCONSOLE_CURSOR_INFOSetConsoleCursorInfoSetConsoleCursorPositionGetAsyncKeyState 4. 贪吃蛇游戏设计与分析地图<locale.h>本地化类项setlocale函…

【鸿蒙 HarmonyOS 4.0】TypeScript开发语言

一、背景 HarmonyOS 应用的主要开发语言是 ArkTS&#xff0c;它由 TypeScript&#xff08;简称TS&#xff09;扩展而来&#xff0c;在继承TypeScript语法的基础上进行了一系列优化&#xff0c;使开发者能够以更简洁、更自然的方式开发应用。值得注意的是&#xff0c;TypeScrip…

如何在Linux搭建MinIO服务并实现无公网ip远程访问内网管理界面

文章目录 前言1. Docker 部署MinIO2. 本地访问MinIO3. Linux安装Cpolar4. 配置MinIO公网地址5. 远程访问MinIO管理界面6. 固定MinIO公网地址 前言 MinIO是一个开源的对象存储服务器&#xff0c;可以在各种环境中运行&#xff0c;例如本地、Docker容器、Kubernetes集群等。它兼…