Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在熊猫图中按类别着色

在熊猫图中按类别着色
EN

Stack Overflow用户
提问于 2019-06-12 19:49:42
回答 2查看 76关注 0票数 0

在一个名为cont_col的列和一个category列中,我有一个包含累积和的连续数字的DataFrame:

代码语言:javascript
运行
AI代码解释
复制
import pandas as pd
import numpy as np

cont = np.random.rand(100)

df = pd.DataFrame(data=cont)

df = df.sort_values(by=0)

df['quartile'] = pd.qcut(df[0], 4, labels=False)

cumsum = df[0].cumsum()
cumsum = cumsum.to_frame()
cumsum[0].plot(kind='bar', color='k')

我想绘制相同的数据,但这一次是由四分位数列着色的。

我可以用下面的代码做到这一点:

代码语言:javascript
运行
AI代码解释
复制
def colourise(x):
    if x == 0:
        return 'k'
    elif x == 1:
        return 'r'
    elif x == 2:
        return 'g'
    else:
        return 'b'

df['colour'] = df['quartile'].apply(colourise)
cumsum = df[0].cumsum()
cumsum = cumsum.to_frame()
cumsum[0].plot(kind='bar', color=df['colour'].tolist())

我只是想知道是否有一种更通用的方法-特别是一种不依赖于我创建的qtile数量的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-12 20:39:40

如果您不是特别关心颜色,请使用其中一个海运调色板创建一个映射。这样,您只需要指定列,而不是类别或颜色的数量。如果您有许多有序的类别,请考虑切换到顺序调色板。

代码语言:javascript
运行
AI代码解释
复制
import seaborn as sns
import matplotlib.pyplot as plt

def map_color(df, col):
    color_d = dict(zip(df[col].unique(), sns.color_palette("hls", df[col].nunique())))
    df['color'] = df[col].map(color_d)
    return df

df  = map_color(df, 'quartile')

fig, ax = plt.subplots(figsize=(10, 5))
df.assign(y=df[0].cumsum()).plot(kind='bar', y='y', ax=ax, color=df.color.tolist(),
                                 legend=False)
plt.show()

票数 1
EN

Stack Overflow用户

发布于 2019-06-12 20:24:02

您可以定义颜色映射的字典。

代码语言:javascript
运行
AI代码解释
复制
color_map = {
    0:'k',
    1:'r',
    2:'g'
}

然后,使用.map()

代码语言:javascript
运行
AI代码解释
复制
df['colour'] = df['quartile'].map(color_map).fillna('b')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56569458

复制
相关文章
在图中添加多边形
在matplotlib中有一个子模块patches, 提供了绘制各种多边形的功能,常用的多边形及其画法如下
生信修炼手册
2020/09/23
6440
在图中添加多边形
Win10: 在截图中添加红框
文章背景: 在工作中,很多时候需要用到Win10原生的截图工具,然后在截图中添加红框进行强调。对于Win10系统,可以通过按Windows 徽标键‌+ Shift+ S,快速调出截图工具,但无法在截图中添加红框,需要借助画图工具进行实现。
Exploring
2023/08/17
13.9K0
Win10: 在截图中添加红框
【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。
小鄧子
2018/08/20
1.3K0
@Qualifier高级应用---按类别批量依赖注入(QualifierAnnotationAutowireCandidateResolver原理详解)【享学Spring】
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
YourBatman
2019/09/18
1.4K0
C++在视图中显示缩略图
将任意形式文件已缩略图形式显示在视图中 //pWnd为当前客户区视图 CWnd* pWnd; pWnd=this; CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; HWND hwnd=pWnd->GetSafeHwnd(); CImage image; //m_ViewRect 为当前客户区 CRect m_ViewRect; GetClientRect(&m_ViewRect); //strFilePath为影像绝度路径,包含文件名 image.Load(strFilePath);
用户7886150
2021/02/13
7330
在 SwiftUI 视图中打开 URL 的若干方法
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
东坡肘子
2022/07/28
7.9K1
在 SwiftUI 视图中打开 URL 的若干方法
表面着色
有一些物体看起来比较粗糙,比如纸,石头等,如果我们盯着该类物体的一个地方看,同时也做各种旋转,会发现没什么变化,也就是不会出现高光,这类物体就叫 Lambertian objects.接下来就介绍如何给这类物体着色,这些操作是在世界坐标系中完成的。 Lambertian objects模型是说物体表面的颜色是与法线和光源方向的余弦是成正比的:
一只小虾米
2022/10/25
5830
表面着色
规则类别
每个代码分析规则都属于某种规则类别。 例如,设计规则支持遵从 .NET 设计准则,而安全规则可帮助防止出现安全漏洞。 你可为整个规则类别配置严重性级别。 还可以按类别配置其他选项。
呆呆
2022/01/09
8500
在Ubuntu中实现python按tab
    刚学习python,其实一切都很好接受,因为有过C语言的基础,感觉一切都来得那么自然,python极其精简的语法,让我真心是爱上这种语言!相信往后python一定会在我的IT生涯中大放光彩!
py3study
2020/01/09
1.6K0
color pathway 使用指南 : 在通路图中标记基因
对于通路分析结果的可视化而言,最常用的展现方式就是在通路中高亮显示富集到的基因。kegg 提供了在Color Pathway 在线服务,可以方便的完成这一任务。
生信修炼手册
2020/05/09
1.9K0
Paint着色器
Paint着色器会对Paint绘制的区域进行填充。 通过Paint.setShader()方法设置着色器,Paint着色器有如下几种:
玖柒的小窝
2021/12/06
7860
Paint着色器
quyu区域着色
用户3519280
2023/07/08
1540
1007: 矩形着色
原题地址 #include<iostream> #include<string> using namespace std; int main() { int n; cin >> n; string* results = new string[n]; for (int i = 0; i < n; i++) { int x, y, lx, ly, rx, ry; cin >> x >> y; cin >> lx >>
渔父歌
2019/04/25
8370
图的着色
图着色问题,相邻的点颜色不同       基础知识:http://wenku.baidu.com/view/d7242fd1c1c708a1284a444d.html  名词解析:       平凡图
用户1624346
2018/04/17
9230
OpenGL ES _ 着色器_片断着色器详解
输入值:片段着色器接受顶点管线最终输出的迭代值,这些值包括片段的位置,已解析的主颜色和辅助颜色,一系列的纹理坐标以及片段的雾坐标距离。
酷走天涯
2018/09/14
1.4K0
OpenGL ES _ 着色器_片断着色器详解
第5章-着色基础-5.3-实现着色模型
出于实用目的,这些着色和光照方程当然必须在代码中实现。在本节中,我们将讨论设计和编写此类实现的一些关键考虑因素。我们还将介绍一个简单的实现示例。
charlee44
2022/05/05
3.8K0
第5章-着色基础-5.3-实现着色模型
IP地址类别
一般将IP地址按计算机所在网络规模的大小分为A、B、C三类及特殊地址D、E(默认规模是根据IP地址中的第一个字段确定的)
用户7162790
2022/03/23
1.5K0
IP地址类别
OpenGL ES _ 着色器_ 顶点着色器详解
提醒广大网友,当你看到这篇文章的时候,以后写的关于OpenGL 更多的便是代码实战了!
酷走天涯
2018/09/14
2.2K0
OpenGL ES _ 着色器_ 顶点着色器详解
揭秘熊猫TV HEVC直播
LiveVideoStack:熊猫直播HEVC直播间面向哪些用户,或哪些软件和硬件平台条件的用户开放?
LiveVideoStack
2021/09/02
1.7K0
点击加载更多

相似问题

如何在ggboxplot图中按类别对抖动进行着色

18

熊猫类别按类别分组排序

14

按类别比较的熊猫

11

按类别分组的熊猫

18

熊猫-按ID分组,指定类别

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档