在绘图旁边显示(离散)颜色条作为(自动选择的)线条颜色的图例

2024-02-09

我试图制作一个显示许多线条的图,但很难区分它们。它们有不同的颜色,但我想让它很容易显示哪条线是哪条线。普通的图例并不能很好地工作,因为我有超过 10 行。

这些行遵循逻辑顺序。我想(1)从颜色图中自动选择它们的颜色(最好是具有平滑排序的颜色,例如 viridis 或彩虹)。然后我希望(2)在颜色条旁边有刻度线以对应于索引i对于每一行(或者更好的是来自字符串数组的文本标签textlabels[i]).

这是一小段代码(有一些空白,我不确定要使用什么)。我希望这能说明我正在尝试的事情。

import numpy as np
import matplotlib.pyplot as plt

# Genereate some values to plot on the x-axis
x = np.linspace(0,1,1000)

# Some code to select a (discrete version of) a rainbow/viridis color map
...

# Loop over lines that should appear in the plot
for i in range(0,9):
    # Plot something (using straight lines with different slope as example)
    plt.plot(i*x)


# Some code to plot a discrete color bar next 
# to the plot with ticks showing the value of i   
...

我目前有这个。我希望颜色条上的刻度值为i,即 0, 1, 2, ... 旁边作为刻度线。
我现在拥有的示例图。现在很难区分这些线条。 https://i.stack.imgur.com/E2oxm.png


一个人通过获取颜色图plt.get_cmap("name of cmap", number_of_colors)。 该颜色图可用于计算绘图的颜色。它还可用于生成颜色条。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors

n = 10 # how many lines to draw or number of discrete color levels

x = np.linspace(0,1,17)

cmap = plt.get_cmap("viridis", n)

for i in range(0,n):
    plt.plot(i*x, color=cmap(i))

norm= matplotlib.colors.BoundaryNorm(np.arange(0,n+1)-0.5, n)
sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm)
sm.set_array([])
plt.colorbar(sm, ticks=np.arange(0,n))
plt.show()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在绘图旁边显示(离散)颜色条作为(自动选择的)线条颜色的图例 的相关文章

随机推荐

  • 具有 AJAX 功能的 jQuery 循环插件

    我有一个页面 其中有多个图片滑块 例如 50 个滑块 每个滑块有 5 10 张图片 不幸的是 由于滑块数量巨大 页面加载速度非常慢 到目前为止 我一直在使用 Malsup 著名的 jQuery Cycle 插件 然而 这缺乏 AJAX 功能
  • 如何在 Visual Studio 2019 中将当前分支与另一个分支进行比较?

    在 Visual Studio 中 假设以下场景 从 master 创建一个分支 做一些改变 Commit 再次进行一些更改 Commit 当我们进行提交时 下面没有显示任何更改团队资源管理器 gt 更改 如果我们不执行第 5 步Chang
  • 为什么 AWS Lambda 无法到达 FunctionHandler?

    I am 首次将 C 应用程序部署到 Lambda 使用 Mac 因此无法使用 Visual StudioAWS 工具包扩展 https marketplace visualstudio com items itemName AmazonW
  • AngularJS 在表单输入上输入指令时不保存模型值

    我在页面上有以下内容 完整代码在此Plunker http plnkr co edit NZMC0Km3pFUBGXgcVopx p preview 有一个习俗onEnter当在聊天表单输入上按 Enter 键时调用函数的指令 下面的代码片
  • 使用 Websockets 代替 RESTful HTTP 有哪些陷阱?

    我目前正在开发一个项目 需要客户端请求一个大作业并将其发送到服务器 然后 服务器划分作业并以一组 url 进行响应 以便客户端进行 GET 调用并流回数据 我是该项目的新手 目前正在使用 Spring websockets 来提高效率 We
  • 如何让两个div并排对齐? [复制]

    这个问题在这里已经有答案了 我一直试图让两个 div 并排浮动 或者基本上是购物车和物品 即 jcart 和 cartbox 但似乎无法得到它 这是演示 link http asiraj com 我尝试改变float right 在购物车
  • C - 确定使用哪个分隔符 - strtok()

    假设我正在使用strtok 像这样 char token strtok input 有没有办法确定实际使用了哪个令牌 例如 如果输入类似于 Hello there How are you I m good End 我可以找出每个标记使用了哪
  • Angular 2 Setter 和 Getter

    我正在尝试创建一个服务来将数据解析到不同路线上的不同组件 如果我在同一组件上调用后续服务 我会得到所需的结果 但如果我尝试从另一个组件获取设置的结果 该服务将返回未定义的结果 这是我的服务 import Injectable from an
  • 位移位的目的是什么? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我在代码中遇到了以下几行 unsig
  • 如何在 Phonegap 3 上使用 plugin.xml 复制自定义 ios 框架

    我目前正在为phonegap 3 制作一个插件 我有一个自定义框架可以使用源文件指令进行复制 在plugin xml中我尝试过
  • 绑定与 SO_BINDTODEVICE 套接字

    我正在 linux ubuntu 13 10 上运行一个项目 它使用原始套接字连接到设备 这是我的代码 builed socket if sockfd socket PF PACKET SOCK RAW htons ETH P ALL 1
  • .Net框架4.0 SDK

    有谁知道是否有 Net 4 0 框架的 SDK 如果有 安装程序将其放在硬盘驱动器的哪个位置 我已经安装了 Visual Studio 2010 旗舰版 但在任何地方都找不到 SDK NET SDK 的最后一个独立版本是 2 0 之后它与W
  • 在线程中“浪费时间”最高效的 CPU 方式是什么?

    我有许多线程 100 个 每个线程一次执行几秒钟 当它们执行时 它们花费大量时间等待另一个系统 串行设备 的响应 我注意到 同时执行 100 个线程可能会占用大量资源 因此我实际上限制了可以同时启动的线程数量 但我想到 在线程内等待外部事件
  • 将功能附加到 Rails 3 中的按钮

    我的网页上显示一组按钮 单击其中一个按钮的效果需要是调用外部 API 可能会收到响应 并更新页面上的某些内容 一些附加信息 这些按钮部分地放置在页面上 并构成用户列表的一部分 这些按钮用于激活和停用列出的用户 我不确定这个设置是否会影响做我
  • when/2 和 ground/1 的逻辑纯度

    问题 我有一个关于逻辑纯度的问题 这个程序纯粹吗 when ground X X gt 2 有关上下文的一些 ir 相关细节 我正在尝试编写具有良好终止属性的纯谓词 例如 我想写一个谓词list length 2描述列表与其长度之间的关系
  • Angular 1.5 组件绑定:检查回调是否存在

    我有一个简单的contactList组件 有 2 个绑定 contacts and onRemove contacts只是要显示的联系人数组 onRemove是一个回调函数 app component contactList templat
  • python:如何在需要时启动和停止记录器

    我正在尝试在 Django 应用程序的代码中记录 sql 语句 目前我在 settings py 中使用以下记录器配置 LOGGING version 1 disable existing loggers False formatters
  • ASP.NET 工作线程可以同时处理多个请求吗?

    我知道 ASP NET 将在池中的单个线程上执行请求 反之亦然吗 单个 ASP NET 请求是否会独占一个工作线程直到请求完成 或者 ASP NET 是否会在多个并发请求之间重复使用同一线程 即使你的第一个陈述也不完全正确 ASP NET可
  • 在列表中搜索元素并将其替换为多个项目

    搜索给定列表的Python方式是什么 a b c 对于元素b替换它并插入多个项目b1 b2 b3这样列表最终读作 a b1 b2 b3 c 使用切片表示法 gt gt gt lst a b c gt gt gt i lst index b
  • 在绘图旁边显示(离散)颜色条作为(自动选择的)线条颜色的图例

    我试图制作一个显示许多线条的图 但很难区分它们 它们有不同的颜色 但我想让它很容易显示哪条线是哪条线 普通的图例并不能很好地工作 因为我有超过 10 行 这些行遵循逻辑顺序 我想 1 从颜色图中自动选择它们的颜色 最好是具有平滑排序的颜色