繁体   English   中英

Matplotlib colorbar背景和标签放置

[英]Matplotlib colorbar background and label placement

直到最近,我一直在使用Mathematica作为我的情节。 虽然这是一个真正的痛苦,一切都必须手动完成,结果非常接近我想要的。 一个例子如下:

Mathematica示例图

我真的很喜欢彩条背景中的灰色圆角矩形。 虽然所有东西都必须在Mathematica中手动调整,但matplotlib更加自动化并且已经产生了很好的结果。

Mathematica示例图

但是我还有两个问题:

  1. 我不知道如何在后台做一个圆角矩形。 我查看了fancybbox补丁,但没有像我想要的那样使用彩条。 获得类似Mathematica盒子的最佳方法是什么? 对于图中的图例,似乎有一个花哨的bbox选项...但不适用于彩条
  2. 当我使用“较小的符号”(<)时,颜色条的标签向右移动太远。 我怎样才能调整这个(甚至可能是“Mathematica”中的“中间”数字)?

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

对于第二个问题:您可以使用负labelpad键值将标签移回标签标签,如下所示:

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是上边框。

结果:

脚本输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM