Seaborn:标题和副标题位置

2024-02-28

H all,

我想创建一个散点图,其中包含与特定变量相对应的标题、副标题、颜色以及与另一个变量相对应的大小。我想显示颜色图例但不显示大小。这是我到目前为止所拥有的:

# imports
import seaborn as sns
import matplotlib
from matplotlib import style
import matplotlib.pyplot as plt

# parameters
matplotlib.rcParams['font.family'] = "roboto"
style.use('fivethirtyeight')

# load data
iris = sns.load_dataset('iris')

# plot
ax = sns.relplot(
    'sepal_length',
    'sepal_width',
    hue='species',
    size='petal_width',
    alpha=0.75,
    kind="scatter",
    legend=False,
    data=iris
)

# make adjustments
ax.set_axis_labels(x_var='Sepal Length', y_var='Sepal Width')
plt.text(x=4.7, y=4.7, s='Sepal Length vs Width', fontsize=16, weight='bold')
plt.text(x=4.7, y=4.6, s='The size of each point corresponds to sepal width', fontsize=8, alpha=0.75)
plt.show()

Output:

这是我的问题:

1)有没有更好的设置字幕的方法?我尝试使用这个ax.suptitle("blah", y=1.05)但它最终位于图的范围之外。我不喜欢必须为标题/副标题设置 x 和 y 坐标。

2)有没有办法让我显示颜色图例而不显示尺寸图例?我还希望能够在图下方(或图外部)显示此图例。如果您能回答这个问题,我将更改这篇文章的标题,将您的答案标记为完整,并创建另一个有关标题和副标题的问题

非常感谢!


Using scatterplot()使操作图例变得更容易。如果你使用legend='brief然后你会得到这个图例:

您可以使用以下方法获取用于创建此图例的艺术家和标签:

h,l = ax.get_legend_handles_labels()

由于您只需要颜色信息,而不需要尺寸,因此解决方案只是使用艺术家的前半部分重新创建图例

ax.legend(h[:4],l[:4])

完整代码:

matplotlib.style.use('fivethirtyeight')
# load data
iris = sns.load_dataset('iris')

# plot
fig, ax = plt.subplots(figsize=(7,5))
sns.scatterplot(
    'sepal_length',
    'sepal_width',
    hue='species',
    size='petal_width',
    alpha=0.75,
    legend='brief',
    data=iris,
    ax=ax
)

# make adjustments
ax.set_xlabel('Sepal Length')
ax.set_ylabel('Sepal Width')

ax.text(x=0.5, y=1.1, s='Sepal Length vs Width', fontsize=16, weight='bold', ha='center', va='bottom', transform=ax.transAxes)
ax.text(x=0.5, y=1.05, s='The size of each point corresponds to sepal width', fontsize=8, alpha=0.75, ha='center', va='bottom', transform=ax.transAxes)

h,l = ax.get_legend_handles_labels()
ax.legend(h[:4],l[:4], bbox_to_anchor=(1.05, 1), loc=2)

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

Seaborn:标题和副标题位置 的相关文章

随机推荐

  • 没有框架的javascript ajax请求

    有谁知道如何在不使用 jQuery 等 javascript 框架的情况下制作跨浏览器的 ajax 请求功能 The XMLHttpRequest对象实际上使用起来并不那么复杂 为了广泛兼容 您必须玩一些游戏来创建对象 但之后的简单操作就相
  • 如何在浏览器窗口调整大小时调整CSS中的梯形大小

    当我调整浏览器窗口大小时 我试图调整梯形形状的大小 我试图通过使用来做到这一点box resize但还是没用 是否可以通过使用定义 创建的梯形来做到这一点border黑客 还有什么其他方法可以使梯形能够在调整浏览器窗口大小时调整大小 div
  • Codeigniter - 提交后验证失败时重新填充表单

    我有一个表单 要求用户输入一些信息 如果他们未能填写必填字段 他们将被重新提交表格 页面顶部通知他们需要哪些字段 并且我启用了粘性表单 set value 这样他们的输入就不会丢失 我使用 flashdata 向用户显示消息 即 如果他们输
  • 从 listWidget 中删除选定的项目

    如何从列表中删除选定的项目QListWidget 我尝试编写以下代码 但它不起作用 QList
  • 使用 Moya 获取响应标头

    我在我的 swift 应用程序中使用 Moya 来处理网络请求 我能够使用 Moya Object Mapper 获取请求并映射结果 我之前使用过 alamofire 熟悉如何发布 获取请求和读取响应头 然而 我似乎不明白如何在 Moya
  • Ag-grid 捆绑包尺寸太大

    我正在使用 Angular 6 开发一个 Web 应用程序 我有一个 Ag grid 企业版 Ag grid 文档说 我们必须导入所有农业网格角 农业网格社区 and 农业电网企业与农网企业合作 编译后 主包总大小超过 1 5 MB 在那里
  • Firebase 函数问题以及 .add() 与 .doc().set() 之间的区别

    几周以来我遇到了以下问题 以前不是问题 1 添加 数据 const saveNewDoc functions https onCall data NewDocWrite context CallableContext gt return a
  • 两个类之间的递归java泛型

    这是一个类似于中提出的问题两个类之间可能递归的 Java 泛型 https stackoverflow com questions 5929689 possibly recursive java generics between two c
  • 从派生类初始化列表调用基类构造函数的顺序

    struct B int b1 b2 B int int struct D B int d1 d2 which is technically better D int i int j int k int l B i j d1 k d2 l
  • AttributeError:“模块”对象没有属性“get_frontal_face_ detector”

    我试图使用 python 的 dlib 库来检测面部标志 我正在使用上面给出的例子人脸检测器 http dlib net face landmark detection py html 我在安装dlib之前已经安装了所有依赖项 首先 我使用
  • Joomla 2.5创建组件并保存数据

    我一直在使用这个文档 我在网上可以找到的唯一文档 来构建一个组件 http docs joomla org Developing a Model View Controller Component 2 5 Introduction http
  • 为什么 awk 似乎随机化数组?

    如果你看一下这个的输出awk测试一下 你会看到array in awk似乎是按某种随机图案打印的 对于相同数量的输入 它似乎具有相同的顺序 为什么会这样呢 echo one two three four five six awk for i
  • Windows 服务中线程内的计时器

    我不知道如何以最佳方式解决这个问题 现在我有一个 Windows 服务 其唯一任务是从具有特定 DSN 的数据库收集数据 然后在数据有效时发送电子邮件 该服务包含一个计时器 每 5 分钟滴答一次并执行上述任务 现在我需要重新编写Window
  • 如何在 d3 javascript 中为 SVG 文本元素分配唯一 id

    在 d3 中制作条形图 我有 30 多个条形图 x 轴上有 30 多个相应标签 我希望在页面加载时隐藏 x 轴标签 这是有效的 并且仅当用户将光标悬停在相应的栏 svg 矩形对象 上时才出现 为此 我为每个矩形和每个文本元素分配一个 id
  • 使用最小起订量的扩展方法的单元测试

    我正在为 azuresearch 的函数 uploaddocuments 编写单元测试 Unsupported expression gt Index It IsAny
  • 在 Perl 中获取堆栈跟踪? [复制]

    这个问题在这里已经有答案了 如何在 Perl 中获取堆栈跟踪 对于调试需要 我喜欢鲤鱼 永远 http search cpan org dist Carp Always perl MCarp Always my script pl
  • 有没有办法在不执行脚本的情况下测试 PowerShell 脚本中的函数?

    我想定义独立的我的 PowerShell 脚本中的函数 并且能够在不执行脚本其余部分的情况下对函数进行 Pester 测试 有什么办法可以做到这一点而不需要在单独的文件中定义函数吗 在下面的伪代码示例中 如何在不执行 main 功能的情况下
  • 注意:之前的“point_forward”隐式声明在这里

    我似乎无法正确编译这个递归函数 我也不知道为什么 代码如下 void point forward mem ptr m mem ptr temp temp m gt next if temp gt next NULL point forwar
  • 如何检测非活动选项卡并用颜色填充它

    如果选项卡处于非活动状态 如何为我的网站填充颜色 如果用户移动到另一个窗口 我想为我的网站提供类似屏幕保护程序的效果 我可以用 jQuery 做到这一点吗 使用 window onfocus 和 window onblur 方法 请参阅ht
  • Seaborn:标题和副标题位置

    H all 我想创建一个散点图 其中包含与特定变量相对应的标题 副标题 颜色以及与另一个变量相对应的大小 我想显示颜色图例但不显示大小 这是我到目前为止所拥有的 imports import seaborn as sns import ma