比例数据可视化——(pyecharts)

2023-11-08

本文数据来自于大数据可视化技术这本书
用于复习

1. 饼图

1.1 基础饼图

import pandas as pd 
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
data=pd.read_csv("vote_result.csv",encoding="utf-8")
c = (
    Pie(init_opts = opts.InitOpts(theme=ThemeType.WALDEN))#ThemeType.WALDEN用于更换不同风格颜色
    .add("interest",data.values.tolist())
    .set_global_opts(title_opts=opts.TitleOpts(title="用户感兴趣的领域",
                                              subtitle="以下是读者的投票结果。\n读者对金融、医疗保健、市场三个领域感兴趣",
                                              pos_left="left" ),
                    legend_opts=opts.LegendOpts(pos_left="left",
                                                pos_top="middle",
                                                orient="vertical")
)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
     .render("pie.html")
)

在这里插入图片描述

  1. 2.玫瑰图
import pandas as pd 
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
data=pd.read_csv("vote_result.csv",encoding="utf-8")

p=(
    Pie(init_opts=opts.InitOpts(theme=ThemeType.ESSOS))
    .add(" ",data.values.tolist(),
        radius=["30%", "75%"],
        center=["55%", "50%"],
        rosetype="radius",
        label_opts=opts.LabelOpts(is_show=False),
        )
    .set_global_opts(title_opts=opts.TitleOpts(title="用户感兴趣的领域",
                                              subtitle="以下是读者的投票结果。\n读者对金融、医疗保健、市场三个领域感兴趣",
                                              pos_left="left" ),
                    legend_opts=opts.LegendOpts(pos_left="left",
                                                pos_top="middle",
                                                orient="vertical")
)
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%"))
     .render("pie_rose.html")
)

在这里插入图片描述

2.柱状堆叠图

2.1 基本堆叠数据图
根据对奥巴马支持率的民意调查数据president_approval_rate.csv进行堆叠柱形图的绘制

from pyecharts.charts import Bar
import pandas as pd
from pyecharts import options as opts
from pyecharts.globals import ThemeType
pre_approval_rate = pd.read_csv("presidential_approval_rate.csv")
bar = (
    Bar(init_opts = opts.InitOpts(theme = ThemeType.DARK))
    .add_xaxis(pre_approval_rate['political_issue'].tolist())
    .add_yaxis("支持", pre_approval_rate['support'].tolist(), stack="1", category_gap="50%")
    .add_yaxis("反对", pre_approval_rate['oppose'].tolist(), stack="1", category_gap="50%")
    .add_yaxis("不发表意见", pre_approval_rate['no_opinion'].tolist(), stack="1", category_gap="50%")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
    .set_global_opts(title_opts=opts.TitleOpts(title = "柱状堆叠图"),
                    xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=30)))
)
bar.render_notebook()

纵坐标为支持、反对、不发表意见
2.2

from pyecharts.charts import Bar
from pyecharts.globals import ThemeType
import pandas as pd
pre_approval_rate = pd.read_csv("presidential_approval_rate.csv")

list_support=['支持','反对','不发表意见']
bar = Bar(init_opts = opts.InitOpts(theme = ThemeType.DARK))
bar.add_xaxis(list_support)

for i in range(pre_approval_rate.iloc[:,0].size):
    issue = pre_approval_rate.loc[i,'political_issue']
    bar.add_yaxis(issue, [int(x) for x in pre_approval_rate.loc[i,['support','oppose','no_opinion']]], 
                  stack=True, category_gap="50%")
bar.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
bar.set_global_opts(title_opts=opts.TitleOpts(title = "柱状图数据堆叠示例", pos_left='center'),
                    legend_opts=opts.LegendOpts(orient="vertical", pos_right="5%"))
bar.render_notebook()

横坐标为支持、反对、不发表意见
2.3 非堆叠图形展示
在这里插入图片描述

3.时堆叠比例图

对1860-2005年人口老龄化数据us_population_by_age.csv进行图形绘制

import pyecharts.options as opts
from pyecharts.charts import Line
import pandas as pd
from pyecharts.globals import ThemeType 

year_population_age = pd.read_csv('us_population_by_age.csv')
#面积折线图
( 
    Line(init_opts=opts.InitOpts(theme=ThemeType.ROMANTIC))
    .add_xaxis(xaxis_data=year_population_age['year'].tolist())
    .add_yaxis(
        series_name="5岁以下",
#         stack="总量",
        y_axis=year_population_age['year_under5'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="5岁至19岁",
#         stack="总量",
        y_axis=year_population_age['year5_19'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="20至44岁",
#         stack="总量",
        y_axis=year_population_age['year20_44'].tolist(),
        label_opts=opts.LabelOpts(is_show=False),
    )
    .add_yaxis(
        series_name="45至64岁",
#         stack="总量",
        y_axis=year_population_age['year45_64'].tolist(),
        label_opts=opts.LabelOpts(is_show=False)
    )
    .add_yaxis(
        series_name="65岁以上",
#         stack="总量",
        y_axis=year_population_age['year65above'].tolist(),
        label_opts=opts.LabelOpts(is_show=True, position="top"),
    )
    .set_series_opts(
        areastyle_opts=opts.AreaStyleOpts(opacity=0.5),#填充面积
        markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max",name="最大值"),
                                               opts.MarkPointItem(type_="min",name="最小值")])
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="人口老龄化面积折线图"),
        legend_opts=opts.LegendOpts(type_="scroll",pos_top="8%", pos_left="10%", orient="horizontal"),#图例配置项
        tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
        yaxis_opts=opts.AxisOpts(
            type_="value",
            axistick_opts=opts.AxisTickOpts(is_show=True),
            splitline_opts=opts.SplitLineOpts(is_show=True),
        ),
        xaxis_opts=opts.AxisOpts(type_="category", boundary_gap=True,axislabel_opts=opts.LabelOpts(rotate=30))
    )
    .render_notebook()
)

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比例数据可视化——(pyecharts) 的相关文章

  • 如果两点之间的距离低于某个阈值,则从列表中删除点

    我有一个点列表 只有当它们之间的距离大于某个阈值时 我才想保留列表中的点 因此 从第一个点开始 如果第一个点和第二个点之间的距离小于阈值 那么我将删除第二个点 然后计算第一个点和第三个点之间的距离 如果该距离小于阈值 则比较第一点和第四点
  • python:查找围绕某个 GPS 位置的圆的 GPS 坐标的优雅方法

    我有一组以十进制表示的 GPS 坐标 并且我正在寻找一种方法来查找每个位置周围半径可变的圆中的坐标 这是一个例子 http green and energy com downloads test circle html我需要什么 这是一个圆
  • 如何手动计算分类交叉熵?

    当我手动计算二元交叉熵时 我应用 sigmoid 来获取概率 然后使用交叉熵公式并平均结果 logits tf constant 1 1 0 1 2 labels tf constant 0 0 1 1 1 probs tf nn sigm
  • 使用 python requests 模块时出现 HTTP 503 错误

    我正在尝试发出 HTTP 请求 但当前可以从 Firefox 浏览器访问的网站响应 503 错误 代码本身非常简单 在网上搜索一番后我添加了user Agent请求参数 但也没有帮助 有人能解释一下如何消除这个 503 错误吗 顺便说一句
  • Django 的内联管理:一个“预填充”字段

    我正在开发我的第一个 Django 项目 我希望用户能够在管理中创建自定义表单 并向其中添加字段当他或她需要它们时 为此 我在我的项目中添加了一个可重用的应用程序 可在 github 上找到 https github com stephen
  • 安装了 32 位的 Python,显示为 64 位

    我需要运行 32 位版本的 Python 我认为这就是我在我的机器上运行的 因为这是我下载的安装程序 当我重新运行安装程序时 它会将当前安装的 Python 版本称为 Python 3 5 32 位 然而当我跑步时platform arch
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 独立滚动矩阵的行

    我有一个矩阵 准确地说 是 2d numpy ndarray A np array 4 0 0 1 2 3 0 0 5 我想滚动每一行A根据另一个数组中的滚动值独立地 r np array 2 0 1 也就是说 我想这样做 print np
  • Pandas Merge (pd.merge) 如何设置索引和连接

    我有两个 pandas 数据框 dfLeft 和 dfRight 以日期作为索引 dfLeft cusip factorL date 2012 01 03 XXXX 4 5 2012 01 03 YYYY 6 2 2012 01 04 XX
  • datetime.datetime.now() 返回旧值

    我正在通过匹配日期查找 python 中的数据存储条目 我想要的是每天选择 今天 的条目 但由于某种原因 当我将代码上传到 gae 服务器时 它只能工作一天 第二天它仍然返回相同的值 例如当我上传代码并在 07 01 2014 执行它时 它
  • 从Python中的字典列表中查找特定值

    我的字典列表中有以下数据 data I versicolor 0 Sepal Length 7 9 I setosa 0 I virginica 1 I versicolor 0 I setosa 1 I virginica 0 Sepal
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 如何通过 TLS 1.2 运行 django runserver

    我正在本地 Mac OS X 机器上测试 Stripe 订单 我正在实现这段代码 stripe api key settings STRIPE SECRET order stripe Order create currency usd em
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • pyspark 将 twitter json 流式传输到 DF

    我正在从事集成工作spark streaming with twitter using pythonAPI 我看到的大多数示例或代码片段和博客是他们从Twitter JSON文件进行最终处理 但根据我的用例 我需要所有字段twitter J
  • 如何断言 Unittest 上的可迭代对象不为空?

    向服务提交查询后 我会收到一本字典或一个列表 我想确保它不为空 我使用Python 2 7 我很惊讶没有任何assertEmpty方法为unittest TestCase类实例 现有的替代方案看起来并不正确 self assertTrue
  • Python:XML 内所有标签名称中的字符串替换(将连字符替换为下划线)

    我有一个格式不太好的 XML 标签名称内有连字符 我想用下划线替换它 以便能够与 lxml objectify 一起使用 我想替换所有标签名称 包括嵌套的子标签 示例 XML
  • Python ImportError:无法导入名称 __init__.py

    我收到此错误 ImportError cannot import name life table from cdc life tables C Users tony OneDrive Documents Retirement retirem
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • cv2.VideoWriter:请求一个元组作为 Size 参数,然后拒绝它

    我正在使用 OpenCV 4 0 和 Python 3 7 创建延时视频 构造 VideoWriter 对象时 文档表示 Size 参数应该是一个元组 当我给它一个元组时 它拒绝它 当我尝试用其他东西替换它时 它不会接受它 因为它说参数不是

随机推荐

  • LeetCode:392(Python)—— 判断子序列(简单)

    判断子序列 概述 给定字符串 s 和 t 判断 s 是否为 t 的子序列 字符串的一个子序列是原始字符串删除一些 也可以不删除 字符而不改变剩余字符相对位置形成的新字符串 例如 ace 是 abcde 的一个子序列 而 aec 不是 输入
  • Leetcode刷题笔记0624(回文字符串)

    解题思路 1 首先考虑用双指针 一头一尾依次遍历 遇到相等的l 和r 进入下一层循环 2 遇到不相等的记录值count 1 判断l 与r是否相等 l与r 是否相等 否则直接返回false 形成代码 class Solution public
  • F轮融资3.6亿美元,Keep能撑起20亿美元的估值吗?

    高喊着 自律给我自由 的keep 在自由的道路上不断奔跑 去年12月底 keep完成了F轮3 6亿美元融资 本轮融资由软银愿景基金领投 高瓴资本 蔻图资本跟投 成为近年国内运动科技领域融资的最大金额 keep估值成功站上20亿美元大关 这距
  • STM32 ST-LINK Utility安装及使用

    TM32 ST LINK Utility集成开发环境的安装比较简单 基本上就是一路Next下去 还是按照常规安装教程 截图 讲述一下吧 以上面下载的 STM32 ST LINK Utility v4 0 0 setup exe 软件为例讲述
  • 安装SQL Server2012报Microsoft.NET Framework4无法安装错误解决方案

    今天在安装SQL Server2012版本时 在最后出现 没有安装Microsoft NET Framework4 请安装这个继续安装SQLServer2012 于是就重官网下载Microsoft NET Framework4进行安装出现如
  • homebrew安装mysql及修改配置

    安装mysql数据库5 7 5前后版本有所差异 以前的版本会在安装的时候要去输入密码 5 7 6 版本会在安装的时候随机生成一个密码 用图形界面化安装的时候会显示密码 而用 brew install mysql命令安装的话 就不会显示密码了
  • Volocopter将在新加坡推出空中的士服务;铂金资本72亿美元收购海航旗下英迈

    今日看点 铂金资本 Platinum Equity 将以72亿美元收购海航旗下的英迈 Volocopter将在新加坡推出空中的士 希尔顿与锦江集团续签合作协议 将在华开逾600家希尔顿欢朋酒店 爱立信携手意大利电信及高通公司基于5G毫米波创
  • c# ThoughtWorks 生成二维码

  • 004 C++基础篇

    前言 大家好 本文将会为您带来内联函数 auto关键字 基于范围的for循环 指针空值nullptr相关知识 一 内联函数 什么是内联函数 以inline修饰的函数叫做内联函数 编译时C 编译器会在调用内联函数的地方展开 没有函数调用建立栈
  • 关于火绒邮件监控引起的扫描任意IP会有25和110端口反馈

    之前测试过公司的外网IP 因为之前一直很注意对外映射的端口 都限制了可以访问的IP地址和端口 所以之前扫描的时候是一个端口都扫描不出来的 最近闲的无事 想着再扫描试试 结果发现居然开放了25和110端口 我当时第一反应 我靠 不会有人已经黑
  • cookie登录_注册登录 与 Cookie

    开始之前 我们先简单了解一下 注册 登录 的流程 无代码 进入注册页面 用户填入用户名 密码 手机号等 注册信息 前端验证用户填入的信息是否符合要求 如果不符合要求 就提示用户输入错误 重新输入 如果符合要求 就将 注册信息 作为 post
  • ARP广播原理和数据包格式

    1 ARP广播原理 1 A 135 24 25 23 和同一网段内的主机B 135 24 25 32 通信 查找arp 表没有32 IP的MAC地址 判断A 和B 是在同一局域网内 A向局域网发送ARP广播 B收到广播后 会把自己的MAC地
  • Redis集群部署文档(centos7系统)

    Redis集群部署文档 centos7系统 Redis是一个高性能的键值存储系统 常用于缓存 消息队列等场景 在大规模应用中 为了提高性能和稳定性 可以采用Redis集群搭建方式 Redis集群采用分布式架构 将数据分散存储在多个节点上 提
  • 漏洞复现-永恒之蓝(MS17-010)

    目录 一 漏洞介绍 1 永恒之蓝是什么 2 漏洞原理 3 影响版本 二 实验环境 三 漏洞复现 四 利用exploit模块进行渗透 一 漏洞介绍 1 永恒之蓝是什么 永恒之蓝是指2017年4月14日晚 黑客团体Shadow Brokers
  • SVPWM的一些参数

    SVPWM的一些参数 1 直流母线电压利用率 一般我们所说的电压利用率是指逆变器输出线电压的基波幅值与直流母线电压之比值 可以看出 电压利用率并不是一个恒定值 因为逆变器输出线电压的基波幅值是变化的 因此一般只讨论最高电压利用率 SVPWM
  • 用C语言单片机编程为什么总是用无符号的数据类型来定义?

    注意 答案和题目均转自百度知道 char型可以表示数的范围是 128到127 所占位数是8位int型可以表示数的范围是 32768到32767 所占位数是16位假如用有符号的数据类型表示 如果你要表示的数是128 那你就得定义int型 用了
  • Openharmony环境搭建

    鸿蒙系统开发环境搭建 前言 工具下载 开发环境 HUAWEI DevEco Device Tool 开发环境的准备 Windows开发环境准备 获取软件 vscode 安装 安装Python 安装Node js 安装hpm 安装DevEco
  • android中跨进程通讯的4种方式

    android中跨进程通讯的4种方式 转自 http www androidsdn com article show 137 由于android系统中应用程序之间不能共享内存 因此 在不同应用程序之间交互数据 跨进程通讯 就稍微麻烦一些 在
  • 神经网络:LSTM基础学习

    1 LSTM简介 在时间序列数据学习中 传统的循环神经网络 RNN 存在较多的学习瓶颈和技术缺陷 而长短时记忆 LSTM 神经网络克服了循环神经网络的缺陷 使其在长时间序列数据学习训练中能克服梯度爆炸和梯度消失的瓶颈 展现出超强的长系列数据
  • 比例数据可视化——(pyecharts)

    本文数据来自于大数据可视化技术这本书 用于复习 1 饼图 1 1 基础饼图 import pandas as pd from pyecharts charts import Pie from pyecharts import options