Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在seaborn.despine()上动态设置轴偏移

在seaborn.despine()上动态设置轴偏移
EN

Stack Overflow用户
提问于 2020-04-07 08:55:01
回答 1查看 490关注 0票数 3

我想动态计算seaborn.despine()的轴偏移量。它应该保持matplotlib轴的0值。但不知何故,我似乎有一个错误的概念来计算它。

由于我需要设置seaborn的偏移量,我试图计算图像大小,并将其设置为与x轴成比例,但在下面的小代码示例中可以看到,这并不能像预期的那样工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Define and use a simple function to label the plot in axes coordinates
def label(x, color, label):
    ax = plt.gca()
    ax.text(0, .2, label, fontweight="bold", color=color,
            ha="left", va="center", transform=ax.transAxes)

# Create sample data
rs = np.random.RandomState(1979)
x = rs.randn(500)
g = np.tile(list("ABCDEFGHIJ"), 50)
df = pd.DataFrame(dict(x=x, g=g))

# Plot
sns.set(style="white", rc={"axes.facecolor": (0, 0, 0, 0)})

pal = sns.color_palette("hls")
# Initialize the FacetGrid object
g = sns.FacetGrid(df, row="g", hue="g", aspect=20, height=0.7, palette=pal)

# Draw the densities in a few steps
g.map(sns.kdeplot, "x", clip_on=False, shade=True, alpha=0.7, lw=2, bw='scott')
g.map(sns.kdeplot, "x", clip_on=False, color="k", lw=1, bw='scott')

g.map(label, "x")

# Set the subplots to overlap
g.fig.subplots_adjust(hspace=-.25)


# calculate offset for left axis
ax = g.axes[0]
ax_size = abs(ax[0].get_xlim()[0]) + ax[0].get_xlim()[1]
fig = g.fig
size = fig.get_size_inches()*fig.dpi
fig_size = size[0]
off = fig_size * ax[0].get_xlim()[0] / ax_size

# Remove axes details that don't play well with overlap
g.set_titles("")
g.set(yticks=[])
g.despine(bottom=False, left=False, offset={'left':off}); # set offset

该图如下所示:

可以看出,轴偏离了零值。有没有人知道怎么做才对?

提前谢谢你,

Exi

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-07 11:48:20

不错的MWE有一些issues with如何在matplotlib中处理点的规范,我认为这个问题可能与它们有关。暂时尽量避免使用任何规范。

Seaborn的'despine‘强制使用点;但是,我们可以退回到相应的matplotlib函数,该函数更灵活,甚至有一个方便的快捷方式,用于在数据来源上居中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for ax in g.axes.ravel():
    ax.spines['left'].set_position('zero')

此外,我建议您阅读transformations in matplotlib,这样您就不需要像计算off时那样手动计算它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61076255

复制
相关文章
PIC32MZEF学习笔记之:初识板卡
企鹅号小编
2017/12/27
1.3K0
PIC32MZEF学习笔记之:初识板卡
PIC单片机编程小技巧
在pic单片机编程当中,会遇到这个问题,程序已经没有问题,也烧录成功了,硬件也上电了,但是为什么什么反应也没有呢? 后来我发现是我的configuration bits没有配置好,以下是我总结出来,如何让PIC正常工作的所需作的检查,前提是代码没有问题。 1、选择好芯片; 2、设置好Configuration Bits;
用户4645519
2020/09/07
6880
PIC单片机编程小技巧
51单片机在Ubuntu和MacOS下程序开发和下载
这学期有51单片机课程,平时调试代码不用windows,查阅了一些资料,不太能用,现在将51单片机在ubuntu下(Linux通用)开发和下载说明一下:需要用到SDCC和stcgal。
zhangrelay
2021/03/03
1.2K0
PIC版图的DRC检查
在集成电路中,DRC(design rule checking)检查是EDA的重要组成部分。顾名思义,也就是检查版图(layout)是否满足Fab的设计规则,避免错误的发生,导致整个电路设计不可以使用,造成巨大的经济与时间损失,影响项目的进展。
光学小豆芽
2020/08/13
1.9K0
ESP8266实际引脚以及芯片引脚的映射
ESP8266的GPIO(1,3,9,10)不能按常规的GPIO方式进行理解和使用,根据ESP8266的系统(SoC)设计,其内部包含了处理器芯片等组件,处理器有17GPIO线路,其中一些GPIO规定默认用于与其他内部组件进行通信,比如与内部闪存的通信等。这样我们大约还有11个GPIO引脚可按常规GPIO进行使用,在这11个针脚中,又有2个针脚预留给串口RX和TX。最后只剩下9个通用I/O引脚,即D0到D8。
云深无际
2021/02/23
3.7K0
ESP8266实际引脚以及芯片引脚的映射
Jetson Nano IO物理引脚与虚拟引脚映射计算
由于项目需求,需要使用Jetson Nano进行io输入采集和输出控制,在网上查找到的资料无法满足所需,有些虚拟引脚号无法得到,以至于无法对相应的io进行操作。
DN
2020/06/04
2K0
Jetson Nano IO物理引脚与虚拟引脚映射计算
[TCTF/0CTF 2021 Quals] listbook, uc_baaaby, uc_masteeer, uc_goood 题解
哈希值计算的时候abs8()使用不当,传值为0x80的时候返回idx为负数,下标溢出到vaild_list,造成idx0的enable位非0,造成严重的UAF
赤道企鹅
2022/08/01
1.8K0
Graph编程1--程序的输入引脚的功能和使用
Graph程序编程完成后,需要对接口进行选择,Graph的程序接口分为三类:最小接口,标准接口和最大接口。打开Graph程序块后,在编辑菜单中接口参数下进行选择,如图1。
科控物联
2022/03/29
7.5K0
Graph编程1--程序的输入引脚的功能和使用
Linux系统驱动之编程_配置引脚_基于IMX6ULL
主要使用pinctrl子系统把引脚配置为LCD功能,对于背光引脚等使用GPIO子系统的函数控制它的输出电平。
韦东山
2021/12/08
7130
Linux系统驱动之编程_配置引脚_基于IMX6ULL
18_SPI编程
​ SPI(Serial Peripheral Interface)接口是全双工的同步串行通讯总线,支持通过多个不同的片选信号来连接多个外设。SPI接口通常由四根线组成,分别是提供时钟的SCLK,提供数据输出的MOSI,提供数据输入的MISO和提供片选信号的CS。同一时刻只能有一个SPI设备处于工作状态。为了适配不同的外设 ,SPI支持通过寄存器来配置片选信号和时钟信号的极性和相位。(imx6ull支持ecspi,即增强配置型spi,这里为了与其他兼容,统一用spi来称呼)。
韦东山
2022/05/05
1.2K0
18_SPI编程
pic单片机流水灯循环右移c语言,PIC单片机流水灯程序[通俗易懂]
;******************************************
全栈程序员站长
2022/08/14
1K0
1003: UC Browser
原题链接 代码: #include<iostream> #include<string> using namespace std; int main() { int n; cin >> n; int* level = new int[n]; for (int i = 0; i < n; i++) { int days; cin >> days; string s; cin >> s;
渔父歌
2019/04/25
7470
USB引脚及定义_u盘引脚数据线接线图
为了向下兼容2.0版,USB 3.0采用了9针脚设计,其中四个针脚和USB 2.0的形状、定义均完全相同,而另外5根是专门为USB 3.0准备的。
全栈程序员站长
2022/09/20
4.7K0
Oracle 重建索引脚本
没有索引,喜欢同样的标签库没有书籍,找书,他们想预订比登天还难。中,尤其是在批量的DML的情形下会产生对应的碎片。以及B树高度会发生对应变化。因此能够对这些变化较大的索引进行重构以提高性能。N久曾经Oracle建议我们定期重建那些高度为4。已删除的索引条目至少占有现有索引条目总数的20%的这些表上的索引。但Oracle如今强烈建议不要定期重建索引。
全栈程序员站长
2022/07/06
6350
Oracle 重建索引脚本
      索引是提高数据库查询性能的有力武器。没有索引,就好比图书馆没有图书标签一样,找一本书自己想要的书比登天还难。然而索引在使用的过程中,尤其是在批量的DML的情形下会产生相应的碎片,以及B树高度会发生相应变化,因此可以对这些变化较大的索引进行重构以提高性能。N久以前Oracle建议我们定期重建那些高度为4,已删除的索引条目至少占有现有索引条目总数的20%的这些表上的索引。但Oracle现在强烈建议不要定期重建索引。具体可以参考文章:Oracle 重建索引的必要性。尽管如此重建索引还是有必要的,只是不建议定期。本文给出了重建索引的脚本供大家参考。 1、重建索引shell脚本
Leshami
2018/08/13
9620
ST-Link引脚说明
过去买过一个st-link使用排线连接后发现板子没有供电,后来研究发现这个stlink只是用于下载,用灰色排线连接是不供电的,要想板子运行就要单独供电。 这样就很痛苦了。 查引脚顺序发现stlink是有供电脚的,所以换用杜邦线连接。如下图:
iot-me.club
2022/02/11
2.7K0
ST-Link引脚说明
NodeMCU开发板引脚映射
如下图所示,ESP8266芯片四周分布很多引脚。这些引脚大部分可用作输入输出使用。这些用作输入输出的引脚统称为GPIO。
云深无际
2021/04/14
3.3K0
NodeMCU开发板引脚映射
ESP32-30引脚与36引脚对照版
此外,即使其他型号带有更多GPIO,也不建议使用多余的GPIO(它们已连接到ESP32集成闪存)。
云深无际
2020/11/19
4.4K0
ESP32-30引脚与36引脚对照版
PCIe卡的主要引脚 及 热插拔
PCIe x1,x4,x8,x16 卡的连接器引脚如下图所示,数据收发引脚为白色,辅助引脚为灰色:
全栈程序员站长
2022/08/23
5K0
PCIe卡的主要引脚 及 热插拔
PIC单片机C语言简记「建议收藏」
  PICC编译器可以直接挂接在MPLAB-IDE集成开发平台下,实现一体化的编译连接和原代码调试。使用MPLAB-IDE内的调试工具ICE2000 、ICD2 和软件模拟器都可以实现原代码级的程序调试,非常方便。
全栈程序员站长
2022/09/20
1.8K0

相似问题

Kotlin -在map中成功存储错误类型的泛型函数

20

Kotlin中的密封类,不兼容类型错误无法返回父类型

123

kotlin中的javaClass返回意外类型

14

kotlin有返回迭代器的map函数吗?

122

错误Kotlin类型推断失败预期类型不匹配Map<MessageDestination,List<MessageSender>>被期望

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文