Atair 柱状比例图

news2024/11/18 17:26:08

如何熟练掌握可视化库和应对使用过程的疑难问题?

基本用法不妨访问 GeeksforGeeks

疑难问题优先搜索 https://stackoverflow.com

尽量使用官方文档: numpy的学习访问

https://numpy.org/doc/stable/user/index.html

例如:

一则 altair 使用过程的问题

https://stackoverflow.com/questions/64112919/altair-how-to-change-color-of-line-in-line-chart?rq=3

对于下面的示例,我想为出口使用绿色方案,为进口使用红色方案。当我分别创建图表时,一切正常,它们得到我分配给它们的颜色方案。

alt

然而,当我连接图表时,两个图表都得到红色方案。

import pandas as pd
fruits = ['Apples''Pears''Nectarines''Plums''Grapes''Strawberries']
years = ["2015""2016""2017"]

exports = {'fruits' : fruits,
           '2015'   : [2, 1, 4, 3, 2, 4],
           '2016'   : [5, 3, 4, 2, 4, 6],
           '2017'   : [3, 2, 4, 4, 5, 3]}
imports = {'fruits' : fruits,
           '2015'   : [-1, 0, -1, -3, -2, -1],
           '2016'   : [-2, -1, -3, -1, -2, -2],
           '2017'   : [-1, -2, -1, 0, -2, -2]}

df_exp = pd.DataFrame(exports)
df_imp = pd.DataFrame(imports)

import altair as alt

cols_year_imp = df_imp.columns[1:]
cols_year_exp = df_exp.columns[1:]

imp = alt.Chart(df_imp).transform_fold(
    list(cols_year_imp)
).mark_bar(
    tooltip=True
).encode(
    x='value:Q',
    y='fruits:N',
    color=alt.Color('key:O', scale=alt.Scale(scheme='reds'))
)

exp = alt.Chart(df_exp).transform_fold(
    list(cols_year_exp)
).mark_bar(
    tooltip=True
).encode(
    x=alt.X('value:Q',title="Export"),
    y='fruits:N',
    color=alt.Color('key:O', scale=alt.Scale(scheme='greens', reverse=True)),
    order=alt.Order('key:O', sort='ascending')
)

# imp | exp
imp
exp
alt.hconcat(imp, exp)

折线图

请考虑以下示例:

alt

请注意代码段X,Y的定义语法,altair 中的分层图表添加图例

在生成的图表中,我想添加一个图例,显示蓝线显示最高温度,红线显示最低温度。实现这一目标的最简单方法是什么?

import altair as alt
from vega_datasets import data

df = data.seattle_weather()

temp_max = alt.Chart(df).mark_line(color='blue').encode(
    x='yearmonth(date):T',
    y='max(temp_max)',
)

temp_min = alt.Chart(df).mark_line(color='red').encode(
    x='yearmonth(date):T',
    y='max(temp_min)',
)

temp_max + temp_min

我看到在问题的解决方案中:Altair中标记分层图表只有在编码中设置颜色或大小左右时才添加图例。

通常使用分类列,但这在这里是不可能的,因为正在绘制整个列,标签应该是列名称,现在显示在 y 轴标签中:

alt

做一个折叠变换,以便变量可以正确编码。

import altair as alt
from vega_datasets import data

df = data.seattle_weather()

alt.Chart(df).mark_line().transform_fold(
    fold=['temp_max''temp_min'], 
    as_=['variable''value']
).encode(
    x='yearmonth(date):T',
    y='max(value):Q',
    color='variable:N'
)

案例二:股票的折线图

带有描边点标记的折线图

alt

感到困惑的是如何处理“mark_line”点。

在 Vega 示例中,我需要使用“point”,然后将“filled”设置为 False。

import altair as alt
from vega_datasets import data

source = data.stocks()

alt.Chart(source).mark_line(
    point={
      "filled": False,
      "fill""white"
    }
).encode(
    x='date',
    y='price',
    color='symbol'
)

我将如何在 Altair 中应用它?我发现将“点”设置为“真”或“{}”添加了一个点标记,但对如何让填充工作感到困惑。

折线+点状

本文由 mdnice 多平台发布

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

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

相关文章

@antv/g2plot 特殊 散点图 x轴为category 调整了legend 的marker

下面代码演示了如何使用 antv/g2plot 创建一个散点图,并对其进行基本的样式和布局配置。 具体来说,代码中的 data 数组定义了散点图的数据系列,每个数据对象包含了分类、值和 y 轴字段三个属性。而 cateMap 对象则定义了每个分类对应的颜色和…

玩转ChatGPT:名单排序

一、写在前面 最近在文秘工作中,碰到一个名字排序的问题,大概的规则: (1)按照第一个汉字的首字母的英文单词排序,从A-Z; (2)若第一个字的首字母一致,则比较…

【920信号与系统笔记】第三章 连续信号的正交分解

连续信号的正交分解 3.1引言3.3信号表示为傅里叶级数(FS)三角傅里叶级数1. 本质展开式1展开式2展开条件-狄利克雷条件分量概念补充 指数傅里叶级数使用条件形式1(按连续信号的正交分解定义展开)形式2(由三角函数形式的傅里叶级数推导&#xf…

力扣笔记(每日随机一题)——最佳买卖股票时机含冷冻期

问题(中等) 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后&a…

Unity HybridCLR + Xlua + Addressable 要点记要

接入缘由 老工程原本是C#,想做热更,于是接入了Xlua和Addressable。由于工程老,人手也不够,只是新代码使用Xlua,老功能(尤其是核心战斗还是C#)。大半年后觉得并不能达到预期需求。于是通过再接入…

vue-element-admin项目学习笔记(4)路由分析二:动态路由及permission.js

路由模块非常重要,自己基于这个框架进行开发,这个必须吃透!! 前情回顾: vue-element-admin项目学习笔记(1)安装、配置、启动项目 vue-element-admin项目学习笔记(2)main.…

改KendoReactUI组件,实现多个子元素的样式不一样

before after 问题描述 使用KendoReact RadioButton 组件,当用户选中当前项时需要显示不同颜色,试图通过找到KendoUI中对应的class name,然后修改这个class name下面的css来达到目的,但不起作用解决办法 用js控制style核心代码 …

华为OD机试之查找众数及中位数(Java源码)

查找众数及中位数 题目描述 众数是指一组数据中出现次数量多的那个数,众数可以是多个。 中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶…

从0开始搭建react项目(函数组件)

目录 项目搭建步骤 本地开发环境 脚手架构建项目 关联Git仓库 strictMode 严格模式 路由配置 路由传参 路由守卫 数据绑定 生命周期 父子组件通信 redux持久化 安装Sass 安装postcss-pxtorem(移动端项目) 安装axios 环境变量 本地代理 …

直播预告:CoremailHVV经验分享与重保整体解决方案发布

面对更具有目的性、针对性的网络攻击压力,重保既是抵抗攻击的重要举措,也是数字经济时代下企业发展的刚需。 正值重保期,企业在面对多样化的攻击手段、持续化的攻击行为、剧增化的攻击危害,应该如何应对重保大考? 6月1…

供应链安全

供应链安全 目录 文章目录 供应链安全目录本节实战可信任软件供应链概述构建镜像Dockerfile文件优化镜像漏洞扫描工具:Trivy检查YAML文件安全配置:kubesec准入控制器: Admission Webhook准入控制器: ImagePolicyWebhook关于我最后…

openpnp - 底部相机支架的制作

文章目录 openpnp - 底部相机支架的制作概述END openpnp - 底部相机支架的制作 概述 前几天总结了底部相机校验通不过的原因(openpnp - 底部相机矫正(subject not found)的原因总结), 并且可以校验通过了. 好景不长, 在校验通过的第三天(中间再穿插做其他事情), 从头做了一次…

【ArcGIS Pro二次开发】(38):清理字段值(空格、空值)

由于一些不规范的输入,或是其它数据转换而来,要素类或者独立表的字段值经常含有空值、空格等影响数据质量的内容。 这个工具的目的就是清理、转换这些字段内容,提高数据质量。 一、要实现的功能 如上图所示,点击【清洗字段值】按…

springboot+vue+java仓库管理系统_0r36w

部门管理员: 申购入库:发起申购,进行入库申请。 调拨申请:发起资产调拨的申请以及查看申请的详情信息。 出库管理:查看调拨的详情信息,可以进行资产的申请报废以及申请维修。 资产报废查询:查看…

薛定谔maestro 安装

【1】先删除之前不能用的文件包 【2】tar -xvf 解压包 进行解压 【3】cd 解压出来的文件下 【4】sudo ./INSTALL 【也可以不用sudo,我的电脑不知道上面问题,需要用sudo,否则在之后创建生成文件夹的时候没有权限】 【5】根据操作一步一步…

电子行业 K 公司对接 Nexperia EDI 项目案例

项目背景 Nexperia 是一家全球领先的半导体制造商,专注于提供高性能、高可靠性和创新性的半导体解决方案。公司成立于2017年,是前飞思卡尔半导体业务的一部分,并在全球范围内拥有多个设计、研发和生产基地。 Nexperia 使用 EDI(…

【VMware】虚拟机安装centos7

目录 一、创建虚拟机 1、自定义 2、选择需要安装的操作系统 3、选择虚拟机安装位置 4、选择处理器配置(可先默认) 5、设置虚拟内存(一般4096) 6、选择网络连接方式 7、选择I/O控制器 8、选择磁盘类型 9、选择磁盘 10、指定磁盘容…

真刑!几行代码端了整个教务系统。。

今天给大家伙分享一个网络安全的案例,程序员和网安同学都可以看看, 前言:本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担 漏洞成因 事…

佩戴舒适的蓝牙耳机哪款比较好用?佩戴舒适度最好的蓝牙耳机推荐

​关于蓝牙耳机佩戴舒适度及音质表现的问题,经常有很多小伙伴在问,或许大家更习惯用价格去界定一个蓝牙耳机的定位。本篇文章主要给大家介绍哪款蓝牙耳机比较好用,很值得入手的蓝牙耳机,一起来看看吧。 一、南卡OE蓝牙耳机&#…

知识小结——HTTP协议相关

目录 TCP/IP URI / URL HTTPS 总结时间: TCP/IP协议簇 对TCP的理解 对UDP的理解 HTTP(超文本传输协议)是什么? HTTPS(安全超文本传输协议)是什么? HTTPS的特点: HTTPS协议…