数据可视化实验四:Pyecharts数据可视化

目录

一、使用PyEcharts绘制全国肺炎确诊人数分布图

1.1 柱状图

1.1.2 代码实现

1.1.2 绘制结果

1.2 饼状图

1.2.1 代码实现

1.2.2 绘制结果

1.3 使用over lap实现图形叠加

1.3.1 代码实现

1.3.2 绘制结果

1.4 地图绘制-Map

1.4.1 代码实现

1.4.2 绘制结果

1.5 地图显示-Geo

1.5.1 代码实现

二、使用pyecharts绘制词云图

2.1 代码实现

2.2 绘制结果


一、使用PyEcharts绘制全国肺炎确诊人数分布图

数据集描述:省份人数.csv

省份

人数

广东

54

北京

87

上海

223

新疆

34

安徽

5

陕西

6

湖南

24

浙江

2

江苏

12

1.1 柱状图

1.1.2 代码实现

# 导入库
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot# 读取 CSV 文件
data = pd.read_csv("省份人数.csv")# 将数据转换为字典格式
province = data["省份"].tolist()
confirmed = data["人数"].tolist()
# 进行zip包装
data_dict = dict(zip(province, confirmed))
# 使用 Bar 绘制柱状图
bar = (Bar().add_xaxis(province).add_yaxis("确诊人数", confirmed).set_global_opts(title_opts=opts.TitleOpts(title="全国各地区肺炎确诊人数分布"),# 显示x,y坐标名称xaxis_opts=opts.AxisOpts(name="省份", axislabel_opts=opts.LabelOpts(rotate=-45)),yaxis_opts=opts.AxisOpts(name="确诊人数"),)
)# 显示结果
make_snapshot(snapshot, bar.render(), "全国各地区确诊人数.png")

1.1.2 绘制结果

1.2 饼状图

1.2.1 代码实现

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot as driver# 读取CSV文件
data = pd.read_csv("省份人数.csv")# 提取省份和人数数据
provinces = data["省份"].tolist()
numbers = data["人数"].tolist()# 绘制饼状图
pie = (Pie().add(series_name="肺炎确诊人数分布",data_pair=[list(z) for z in zip(provinces, numbers)],radius=["30%", "75%"],).set_global_opts(title_opts=opts.TitleOpts(title="全国各地区肺炎确诊人数分布饼状图"),legend_opts=opts.LegendOpts(orient="vertical", pos_top="15%", pos_left="2%"),).set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)# 使用 make_snapshot 方法将图表直接保存为图片
make_snapshot(driver, pie, "全国各地区肺炎确诊人数分布饼状图.png")

1.2.2 绘制结果

注:将不同省份设置为不同的颜色,以便于区分;结果也可以以html文件的形式输出,本次实验我选择了输出图片为结果。

1.3 使用over lap实现图形叠加

1.3.1 代码实现

# 导入绘图库
from pyecharts.charts import Bar, Line
from pyecharts import options as opts
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot as driver
import pandas as pd# 读取 CSV 文件
data = pd.read_csv('省份人数.csv')# 提取省份和人数数据
provinces = data['省份'].tolist()
numbers = data['人数'].tolist()# 绘制条形图
bar = (Bar().add_xaxis(provinces)# 同时将颜色调为.add_yaxis("确诊人数", numbers, color="red").set_global_opts(title_opts=opts.TitleOpts(title="全国各地区肺炎确诊人数分布"))
)# 绘制折线图
line = (Line().add_xaxis(provinces).add_yaxis("确诊人数", numbers, symbol="emptyCircle", is_symbol_show=True,itemstyle_opts=opts.ItemStyleOpts(color="blue"))  # 设置线条颜色为蓝色
)
# 将条形图和折线图叠加在一起
overlap = bar.overlap(line)
# 使用 make_snapshot 生成图片
make_snapshot(driver,  "全国肺炎确诊人数分布.png")

1.3.2 绘制结果

注:将条形图颜色调整为红色、折线图的颜色调整为蓝色,便于区分

1.4 地图绘制-Map

1.4.1 代码实现

# 导入库
import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.render import make_snapshot
from snapshot_selenium import snapshot as driver
# 读取CSV文件
data = pd.read_csv("省份人数.csv")# 过滤出确诊人数大于零的省份
filtered_data = data[data["人数"] > 0]# 提取省份和确诊人数
provinces = filtered_data["省份"].tolist()
numbers = filtered_data["人数"].tolist()# 组装数据为列表套元组的形式,同时过滤没有确诊人数的省份
data_pairs = [(provinces[i], numbers[i]) for i in range(len(provinces)) if numbers[i] > 0]# 使用 Pyecharts 绘制地图
map_chart = (Map().add("确诊人数", data_pairs, "china").set_series_opts(label_opts=opts.LabelOpts(is_show=True, formatter=None))  # 直接显示省份名称和人数,而不需要悬停时显示.set_global_opts(title_opts=opts.TitleOpts(title="全国各地区肺炎确诊人数分布地图"),visualmap_opts=opts.VisualMapOpts(max_=max(numbers)),)
)# 使用 make_snapshot 方法将图表直接保存为图片
make_snapshot(driver, map_chart.render(), "全国各地区肺炎确诊人数分布地图Map.png")

1.4.2 绘制结果

注:原数据集中的省份名称末尾都没有加上“省”或自治区等字,导致最开始无法显示出人数。后续将数据集进行调整。

(调整前的输出结果)

调整后:

1.5 地图显示-Geo

1.5.1 代码实现

import pandas as pd
from pyecharts import options as opts
from pyecharts.charts import Geo# 读取CSV文件
df = pd.read_csv("省份人数.csv", encoding="utf-8")# 提取省份和人数数据
provinces = df["省份"].tolist()
numbers = df["人数"].tolist()# 构造地图数据
map_data = [(provinces[i], numbers[i]) for i in range(len(provinces))]# 绘制地图
geo = (Geo().add_schema(maptype="china").add("确诊人数",map_data,type_= "scatter",).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(visualmap_opts=opts.VisualMapOpts(max_=max(numbers)),title_opts=opts.TitleOpts(title="全国各地区肺炎确诊人数分布地图"),)
)# 生成html文件
geo.render("全国肺炎确诊人数分布地图geo.html")

1.5.2 绘制结果

二、使用pyecharts绘制词云图

数据集描述:词云.txt

光调制解调器由发送、接收、控制、接口及电源等部分组成。数据终端设备以二进制串行信号形式提供发送的数据,经接口转换为内部逻辑电平送入发送部分,经调制电路调制成线路要求的信号向线路发送。接收部分接收来自线路的信号,经滤波、反调制、电平转换后还原成数字信号送入数字终端设备。类似于电通信中对高频载波的调制与解调,光调制解调器可以对光信号进行调制与解调。不管是模拟系统还是数字系统,输入到光发射机带有信息的电信号,都通过调制转换为光信号。光载波经过光纤线路传输到接收端,再由接收机通过解调把光信号转换为电信号。
光调制器是由微波封装的高频DFB激光二极管与APC、ATC控制电路组成E/O转换部件,利用射频微波信号直接调制超高频激光二极管产生强度调制光信号,再耦合到单模光纤中,经约5km光纤传输后,再由光解调器接收完成O/E转换,光解调器是由高速跨阻放大器的PD组件与宽带低噪声放大器组成。该转换必须保证高线性、低失真传输,因此,要通过减小射频输入功率,增加放大器增益而完成。设计的重点在于器件的微波封装,阻抗匹配,对器件等效电路进行模拟,设计出合理共平面微带线电路,用CAD优化最终达到行波与复数共轭匹配,还要解决系统中高增益前置放大以及减小三阶交调等技术问题。

2.1 代码实现

# -*- coding: utf-8 -*-
from pyecharts import options as opts
from pyecharts.charts import WordCloud# 从文件中读取数据
with open("词云.txt", "r", encoding="utf-8") as file:text=file.read()# 绘制词云图
wordcloud = (WordCloud().add("", [(word, text.count(word)) for word in set(text.split())], word_size_range=[20, 100]).set_global_opts(title_opts=opts.TitleOpts(title="光调制解调器词云图"))
)# 生成图片
wordcloud.render("wordcloud.png")
# 保存词云图
wordcloud.render("wordcloud.html")

2.2 绘制结果

结尾语

“樱花落下后,松了一口气。”不必再患得患失了。——— 《门里梦外》

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

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

相关文章

51学习记录(一)——51介绍及震动感应灯

文章目录 前言一、STC89C522.内部结构及引脚 二、继电器原理及震动传感器原理三、项目搭建及实现 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出 提示:以下是本篇文章正文内容,下面案例可供参考 一、STC89C52 1.简介 所属系列:51单…

功率电源中器件的温升与极限工作温度

功率电源中器件的温升与极限工作温度 熟悉电子电路设计的朋友一定都知道,在电源整体设计中存在一些发热非常严重的器件,如整流桥、MOS管、快恢复二极管这些器件。而在功率电源中,电感和高频变压器则成为了发热现象的重灾区。那么在功率电源中,它们的合理温升应该是多少,在…

计算机网络 VLAN间路由单臂路由

一、理论知识 VLAN是一种将物理网络划分成多个逻辑网络的方法。不同的VLAN属于不同的网段,因此互相通信需要通过路由器进行路由。通常情况下,在同一VLAN内的设备可以直接通信,而不同VLAN之间的设备则需要通过路由器转发数据。本实验利用单臂…

html--404页面

<!DOCTYPE html> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetUTF-8"> <meta http-equiv"X-UA-Compatible" content"IEedge,chrome1"> <title>404 错误页面不存在&…

适用于 AI/ML 工作负载的有状态 KES

在此概念验证 &#xff08;POC&#xff09; 中&#xff0c;我们将探讨在 Kubernetes &#xff08;k8s&#xff09; 生态系统中安装和管理有状态密钥加密服务 &#xff08;KES&#xff09;。本指南促进了加密操作的无缝衔接&#xff0c;而不会将敏感的密钥材料暴露给使用型应用程…

【2024最新精简版】线程安全/多线程 面试篇

文章目录 一. 线程基础线程和进程什么是进程什么是线程 并发与并行的区别创建线程继承Thread类实现Runable接口实现Callable接口使用线程池 线程状态等待唤醒机制等待方法唤醒方法 二. 线程池线程池作用创建线程池线程池任务调度流程阻塞队列 BlockingQueue线程池拒绝策略核心线…

只有程序员才能看懂的笑话

哈喽&#xff0c;大家好&#xff0c;我是明智 今天又是周五摸鱼日&#xff5e; 咱们不聊技术&#xff0c;看点别的有意思的东西 往期摸鱼记录&#xff1a; 》》》程序员的那些经典段子 》》》写出bug不用怕&#xff0c;世界就是一个巨大的草台班子 【1】二进制 世界上有10种人&…

随机链表的复制 排序链表

随机链表的复制 题目 . - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 思路&#xff1a; ①一个结点一个节点去拷贝&#xff0c;当拷贝了第一个节点的时候&#xff0c;把原节点与拷贝节点连接起来&#xff0c;直接到所有的节点拷贝完毕&#xff0c;这样做的目的…

专业技能篇---计算机网络

文章目录 前言计算机网络基础一、网络分层模型 HTTP一、从输入URL到页面显示发生了什么&#xff1f;二、Http的状态码有哪些&#xff1f;三、 HTTP与HTTPS有什么区别&#xff1f;四、URI 和 URL 的区别是什么?五、Cookie和Session有什么区别&#xff1f;六、GET与POST WebSock…

Android自定义View之不得不知道的文件attrs

其中demo_style如下:一般都是放的.9图片&#xff0c;为了方便就放个颜色了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190820183209784.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm NzZG4ubmV0L3FxXzQyNzYxMz…

面向服务的架构(Service-Oriented Architecture, SOA)

目录 前言1. SOA的基本概念1.1 定义和特点1.2 核心原则 2. SOA的优势与挑战2.1 优势2.2 挑战 3. SOA的实现技术3.1 Web服务3.2 微服务架构3.3 企业服务总线&#xff08;ESB&#xff09; 4. SOA在现代企业中的应用4.1 金融行业4.2 电子商务4.3 政府和公共服务4.4 医疗健康 结语 …

EE trade:炒伦敦金的注意事项及交易指南

在贵金属市场中&#xff0c;伦敦金因其高流动性和全球认可度&#xff0c;成为广大投资者的首选。然而&#xff0c;在炒伦敦金的过程中&#xff0c;投资者需要注意一些关键点。南华金业小编带您一起来看看。 国际黄金报价 一般国际黄金报价会提供三个价格&#xff1a; 买价(B…

LeetCode 1-两数之和

LeetCode第1题 两数之和 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现…

力扣SQL50 各赛事的用户注册率 分组计数 双排序字段

Problem: 1633. 各赛事的用户注册率 &#x1f468;‍&#x1f3eb; 参考题解 Code select contest_id, ROUND(COUNT(user_id) * 100 / (select count(*) from users),2) as percentage from register group by contest_id order by percentage desc, contest_id asc

vue3自动导入---组件库elements-ui,vuetify以及scss样式的自动导入

自动导入 我们在使用第三方组件库和css样式文件时&#xff0c;都需要进行引入&#xff0c;可以在单个组件内单独引用&#xff0c;也可以在全局引入或一次引入所有组件&#xff1b;但是&#xff0c;一般情况下我们都不会全部引入&#xff0c;这会是打包的结果变大&#xff0c;而…

linux挂载硬盘(解决linux不显示硬盘问题)

目录 1.查看系统有几块硬盘2.查看挂载情况3.格式化硬盘4.创建挂载目录用于挂载硬盘5.将硬盘挂载到指定的挂载目录6.随系统自启动挂载查看配置文件&#xff0c;看是否已经把这条命令加入配置 帮同门解决挂载失败问题记录 参考视频&#xff1a;只要6步&#xff01;Linux系统下挂载…

人工智能在影像组学与放射组学中的最新进展|顶刊速递·24-06-22

小罗碎碎念 本期文献速递的主题——人工智能在影像组学中的最新进展。 小罗一直以来的观点&#xff0c;是把大问题分模块拆解——既然我们想做多模态&#xff0c;那么就先了解单模态的研究套路&#xff0c;再去研究不同模态提取的特征如何融合&#xff0c;搞科研的过程也是管理…

获取泛型,泛型擦除,TypeReference 原理分析

说明 author blog.jellyfishmix.com / JellyfishMIX - githubLICENSE GPL-2.0 获取泛型&#xff0c;泛型擦除 下图中示例代码是一个工具类用于生成 csv 文件&#xff0c;需要拿到数据的类型&#xff0c;使用反射感知数据类型的字段&#xff0c;来填充表字段名。可以看到泛型…

miniconda安装教程以及pip换源【Windows版本】

Anaconda包含内容较多&#xff0c;这边采用miniconda进行安装演示。 下载安装包 官网链接&#xff1a;https://docs.anaconda.com/miniconda/ 蓝奏云加速链接&#xff1a;https://wwt.lanzoue.com/i6ts3225vuef 开始安装 配置conda 在Windows开始菜单中&#xff0c;找到刚安…

graalvm jdk和openjdk

下载地址:https://github.com/graalvm/graalvm-ce-builds/releases 官网: https://www.graalvm.org