gpt4 book ai didi

python - Matplotlib colorbar 背景和标签放置

转载 作者:太空狗 更新时间:2023-10-29 18:21:18 27 4
gpt4 key购买 nike

直到最近,我一直在使用 Mathematica 绘制绘图。虽然这真的很痛苦,而且一切都必须手动完成,但结果非常接近我想要的。一个例子如下:

Mathematica example plot

我非常喜欢颜色栏背景中的灰色圆角矩形。虽然一切都必须在 Mathematica 中手动调整,但 matplotlib 更加自动化并且已经产生了不错的结果。

Mathematica example plot

但是我还有两个问题:

  1. 我不知道如何在背景中做一个圆角矩形。我查看了 fancybbox 补丁,但没有按照我的意愿让它与颜色条一起使用。获得像 Mathematica 盒子这样的东西的最佳方法是什么?对于图中的图例,似乎有一个花哨的 bbox 选项......但不是用于颜色条
  2. 当我使用“较小的符号”(<) 时,颜色栏的标签向右移动了太多。我该如何调整它(甚至可能像 Mathematica 图中那样“介于”数字之间)?

我期待任何指向正确方向的建议 :)。

最佳答案

关于你的第二个问题:你可以使用一个负的 labelpad 值来将标签移回 ticklabels,就像这样:

import numpy as np
import matplotlib.pyplot as plt

data = np.linspace(0, 10, num=256).reshape(16,16)

cf = plt.contourf(data, levels=(0, 2.5, 5, 7.5, 10))
cb = plt.colorbar(cf)

cb.set_ticklabels([r'$<10^{0}$', 1, 2, r'$10^{14}$', r'$10^{14}+12345678$'])
cb.set_label(r'$n_e$ in $m^{-3}$', labelpad=-40, y=0.45)

plt.show()

使用参数 y,您还可以向上或向下移动标签以获得更好的对称性。

labelpad 的参数以点(1/72 英寸)为单位给出。 y 接受 [0, 1] 中的值,0.0 是下边界,1.0 是上边界。

结果:

Script Output

关于python - Matplotlib colorbar 背景和标签放置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18403226/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com