Seaborn 调色板 - 防止颜色回收

2024-06-18

Seaborn 允许定义包含多种颜色的调色板,这对于具有多条线的图表很有用。然而,当将调色板设置为具有多种颜色的调色板时,仅使用前六种颜色,之后颜色会循环使用,从而难以区分线条。这可以通过显式调用调色板来覆盖,但这并不方便。当定义的颜色超过 6 个时,是否有办法强制 Seaborn 当前调色板不回收颜色?

Example:

from matplotlib import pyplot as plt
import pandas as pd
import seaborn as sb

# Define a palette with 8 colors
cmap = sb.blend_palette(["firebrick", "palegreen"], 8) 
sb.palplot(cmap)
# Set the current palette to this; only 6 colors are used
sb.set_palette(cmap)
sb.palplot(sb.color_palette() )
df = pd.DataFrame({x:[x*10, x*10+5, x*10+10] for x in range(8)})
fig, (ax1, ax2) = plt.subplots(2,1,figsize=(4,6))
# Using the current palette, colors repeat 
df.plot(ax=ax1) 
ax1.legend(bbox_to_anchor=(1.2, 1)) 
# using the palette that defined the current palette, colors don't repeat
df.plot(ax=ax2, color=cmap) 
ax2.legend(bbox_to_anchor=(1.2, 1))  ;

解决方案(感谢@tcaswell 的指点):使用所有颜色显式设置调色板:

# Setting the palette using defaults only finds 6 colors
sb.set_palette(cmap)
sb.palplot(sb.color_palette() )
sb.palplot(sb.color_palette(n_colors=8) )

# but setting the number of colors explicitly allows it to use them all
sb.set_palette(cmap, n_colors=8)
# Even though unless you explicitly request all the colors it only shows 6
sb.palplot(sb.color_palette() )
sb.palplot(sb.color_palette(n_colors=8) )
# In a chart, the palette now has access to all 8 
fig, ax1 = plt.subplots(1,1,figsize=(4,3)) 
df.plot(ax=ax1) 
ax1.legend(bbox_to_anchor=(1.2, 1)) ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Seaborn 调色板 - 防止颜色回收 的相关文章

随机推荐

  • 如何在java中使用$lookup阶段与spring data mongodb? [复制]

    这个问题在这里已经有答案了 到 Spring 的最新版本 我已经看到很多堆栈溢出问题 这表明 spring data mongodb 中不支持此操作新的 spring data mongodb 1 10 0 中是否支持此操作 db orde
  • 水平居中包含浮动 li 元素的

    我一直在尝试制作一个带有悬停下拉菜单的水平导航栏 我已经让它工作了 但是为了让 中的所有元素并排 水平 它们必须应用 float left 有什么办法让他们回到中心吗 另外 我的 CSS 编码风格 正确吗 我觉得我做错了 谢谢 HTML d
  • C 数组计数(初学者)[重复]

    这个问题在这里已经有答案了 我目前正在阅读 Kernighan 和 Richie 所著的 C 编程语言 我正在努力弄清楚一行代码的作用 我想我只是有点愚蠢 不太明白他们的解释 ndigit c 0 我不得不稍微改变一下程序ndigit之前给
  • 使用 PDFBox 在 PDF 上绘制矢量图像

    我想使用 Apache PDFBox 在 PDF 上绘制矢量图像 这是我用来绘制常规图像的代码 PDPage page PDPage document getDocumentCatalog getAllPages get 1 PDPageC
  • asyncio 服务器和客户端处理来自控制台的输入

    我有一个 asyncio TCP 服务器 它从客户端获取消息 在服务器上执行 stuff 并发送回文本 服务器运行良好意味着正确接收和发送数据 问题是我无法从客户端的服务器取回消息 因为我在控制台输入上有阻塞例程 基本上 data rece
  • 使用php将cmyk转rgb

    我正在使用以下脚本将图像保存在文件夹中 但有一张图像显示此消息 图像无法显示 因为它包含错误 我认为问题出在图像上称为 cmyk 和 rgb 的东西 但是当在网上搜索使用 php 将 cmyk 转换为 rgb 的方法时 我找不到如何执行此操
  • 将 JSON 文件读入 Spark 时出现 _corrupt_record 错误

    我有这个 JSON 文件 a 1 b 2 这是通过Python json dump方法获得的 现在 我想使用 pyspark 将此文件读入 Spark 中的 DataFrame 根据文档 我正在这样做 sc SparkContext sql
  • 使用 Cosmos 客户端将集合中的记录数读取到控制台应用程序

    我正在使用 Cosmos 客户端和 C 从集合中删除项目 在这个过程中 我想检查集合中的记录数 我有其中的数据部分和查询 但我不知道要使用什么 因为我只会接收一个 int 而不是数据流 为了删除数据 我使用 FeedIterator 因为我
  • grep 通过彩色文本,例如海湾合作委员会 |颜色gcc | grep 正则表达式

    在 grep 管道输出时 如何使 grep 尊重 ANSI 颜色转义 我很高兴使用其他东西 perl 而不是 grep 我的用户案例 我想要 gcc foobar c colorgcc grep regexp ls color grep f
  • 无法将 Material UI 安装到新的 React 应用程序

    我是开发世界的新手 我正在尝试使用材质 UI 作为组件库启动一个新的 React 应用程序 但我不断收到以下错误 我的文件如下所示 任何人都可以用通俗的语言提供帮助吗 TIA npm install save legacy peer dep
  • 使用可达性有什么好处?

    与下面的代码相比 使用 Reachability 有什么优势 我觉得 Reachability 有大量代码 但如果它在任何方面更好 那么我会使用它 NSString connectionString NSString alloc initW
  • 如何在 MVC 应用程序中转置 Kendo UI 网格中的行和列?

    我在 MVC 应用程序中使用 Kendo Ui Grid 我希望在我的网格中显示多个国家 地区的统计数据 我从数据库检索数据的方式 我的网格将显示类似于以下内容的数据 Country Area Population GDP GDP Grow
  • 忽略下划线模板中未定义的数据/变量

    仍在学习骨干 所以请耐心等待 我正在尝试向视图添加一个带有空白字段的新模型 但我创建的模板有一大堆
  • 仅当值发生更改时如何插入数据库?

    我需要更新 替换 MySQL 数据库中的字段 但前提是它们已更改 该表包含 ID 文本字段和更改日期 用户根据更改日期通过 ID 查询数据 即 如果该日期早于用户上次查询数据的时间 则他不想要它 仅当文本字段与具有相同 ID 的现有文本字段
  • 类型错误:.substring 不是函数

    我正在运行 Acrobat Pro DC 我有一个带有 Action OnBlur 事件的文本字段 CC CardNumber 该事件运行以下脚本来产生此错误 我已经研究了几个小时 但看不出我的代码哪里不正确 var fld this ge
  • 在 Node.js 中查找默认网关 IP 的最佳方法是什么?

    如今在 Node js 中查找默认网关 IP 地址的最佳方法是什么 os networkInterfaces 不提供此信息 想到的唯一想法是解析stdout子流程的route n Kernel IP routing table Destin
  • WKWebView不加载https URL?

    我有一个 WKWebView 应该加载以下网址 https buchung salonmeister de place offer details page id 907599 venueId 301655 她是我使用的代码 import
  • 当我将列表分配给变量时,为什么 Pycharm 会提示我“此列表创建可以重写为列表文字”?

    我是一个Python初学者 有一个难题 当我写这样的代码时 lst 1 2 3 4 Pycharm给我的提示是 这个列表创建可以重写为列表文字 但如果换成 lst list 1 2 3 4 Pycharm什么也没说 谁能告诉我为什么 这段代
  • 持有对派生类的引用的基类

    我想这样做 struct Derived struct Base Derived const m ref Base Derived const ref m ref ref struct Derived Base Derived Base t
  • Seaborn 调色板 - 防止颜色回收

    Seaborn 允许定义包含多种颜色的调色板 这对于具有多条线的图表很有用 然而 当将调色板设置为具有多种颜色的调色板时 仅使用前六种颜色 之后颜色会循环使用 从而难以区分线条 这可以通过显式调用调色板来覆盖 但这并不方便 当定义的颜色超过