Skip to main content

Colorbar in Python. Fast and lightweight!

Project description

colorbar

Add a colorbar to an image in milliseconds (faster than plt.imshow+plt.colorbar) 💨

colorbar achieves its speed by avoiding matplotlib and instead using numpy, pillow, cmap and pycairo!

🛠️ Install via: pip install colorbar (+ if pycairo causes trouble try conda install anaconda::pycairo)

Usage 💡

import numpy as np
from colorbar import CBar

shape = (400, 800)
im = np.linspace(0, 1, shape[0] * shape[1]).reshape(*shape)  # dummy image
cbar = CBar(cmap='gray',    # see https://cmap-docs.readthedocs.io/en/latest/catalog/
            vmin=im.min(),  # pixels <= vmin become first color of cmap
            vmax=im.max())  # pixels >= vmax become last color of cmap
im_cbar = cbar.draw(im)  # draw colorbar!
im_cbar.show()

cbar

draw() returns a PIL.Image that is shown via show() and saved via save()

im_cbar.save('cbar.png')

Use cbar.save() instead of im=cbar.draw()+im.save() to save the image as a vector graphic

...
cbar.save('cbar.pdf', im)  # .pdf, .svg, .ps or .eps

To customize the colorbar, draw() and save() take the arguments:

  • vertical: If True, colorbar is vertical. Default: True
  • pad: Added pixel rows on the colorbar-side of the image. Default: 0
  • pad_color: Color-string of added pixels. Default: 'k'(=black)
  • x: Position of the colorbar center relative to image in width-direction. Default: .9
  • y: Position of the colorbar center relative to image in length-direction. Default: .5
  • width: Size of the colorbar relative to image. Default: .05
  • length: Size of the colorbar relative to image. Default: .8
  • label: Label above the colorbar. Default: None
  • ticks: List (e.g. [0, 1]) or dict (e.g. {0: 'low', 1: 'high'}) of ticks. Default: None
  • fontsize: Fontsize of labels and ticks. Default: 20
  • linecolor: Color of the lines and the font used to write labels and ticks. Default: w(=white)
  • linewidth: Width of ticklines and outlines. Default: 2
  • tick_len: Length of ticklines. Default: 2

Finally, if you want draw() to return a numpy array use asarray=True

im_cbar = cbar.draw(im, asarray=True)

to e.g. plot it with matplotlib via plt.imshow(im_cbar).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colorbar-0.1.2.tar.gz (389.0 kB view details)

Uploaded Source

Built Distribution

colorbar-0.1.2-py3-none-any.whl (387.6 kB view details)

Uploaded Python 3

File details

Details for the file colorbar-0.1.2.tar.gz.

File metadata

  • Download URL: colorbar-0.1.2.tar.gz
  • Upload date:
  • Size: 389.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/5.15.0-56-generic

File hashes

Hashes for colorbar-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b6b27db4f70eee1596bfc4a60093dd802022cd4f155ba972b2daad764f4d6a26
MD5 409e4b219f75d082d67568a2748f0166
BLAKE2b-256 3d7e8310e3991b337087f0f3949cbe3ecdd5f0b6acf914d66079d0bfaedaf84f

See more details on using hashes here.

File details

Details for the file colorbar-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: colorbar-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 387.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.10.14 Linux/5.15.0-56-generic

File hashes

Hashes for colorbar-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b416fefc8d9cacd1e09b0cc4ff37eb5c240a31b596d04795733d93b3d9e00aa1
MD5 27b6adbbab6a58d258b4ffc6fb92a550
BLAKE2b-256 ae74773e318e5c01e6a99f846e4a0f2fdca53b84565c93bf2611d3361d92ae00

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page