Skip to main content

imagesc

Python PyPI Version License Coffee Github Forks GitHub Open Issues Project Status Downloads Downloads

  • imagesc is an Python package to create heatmaps. Various methods to create a heatmap are implemented, each with specific properties that can help to easily create your heatmap. The fast and clean method is optimized for speed, the cluster method provides clustering, the seaborn method contains many configuration settings, and finally, the plot as good as possible the imagesc from matlab.

Functions in imagesc

# X is your numpy array
fig = imagesc.seaborn(X)
fig = imagesc.cluster(X)
fig = imagesc.fast(X)
fig = imagesc.clean(X)
fig = imagesc.plot(X)
status = imagesc.savefig(fig)
out = imagesc.d3(X)

Contents

Installation

  • Install imagesc from PyPI (recommended). imagesc is compatible with Python 3.6+ and runs on Linux, MacOS X and Windows.
  • It is distributed under the MIT license.

Requirements

# Note that: seaborn is only required when using **seaborn** or **cluster** functions.
pip install -r requirements.txt

Installation from Pypi

pip install imagesc

Import imagesc package

import imagesc as imagesc

d3 example

import imagesc
df = pd.DataFrame(np.random.randint(0, 10, size=(52, 7)))
paths = imagesc.d3(df, fontsize=10, title='Hooray!', description='python to d3 conversion using imagesc!', path='d3heatmap.html', width=750, height=200, cmap='interpolateGreens')

seaborn

df = pd.DataFrame(np.random.randint(0,100,size=(10,20)))
A = imagesc.seaborn(df.values, df.index.values, df.columns.values)
B = imagesc.seaborn(df.values, df.index.values, df.columns.values, annot=True, annot_kws={"size": 12})
C = imagesc.seaborn(df.values, df.index.values, df.columns.values, annot=True, annot_kws={"size": 12}, cmap='rainbow')
D = imagesc.seaborn(df.values, df.index.values, df.columns.values, annot=True, annot_kws={"size": 12}, cmap='rainbow', linecolor='#ffffff')

A B C D

cluster

  • Underlying implemented is based on clustermap
  • When you desire to cluster your heatmap
  • Default distance setting: metric="euclidean", linkage="ward" (can be changed)
  • Slow for large data sets
  • Grid is aligned to the cells
  • Possibilities to tweak
  • Possible arguments: https://seaborn.pydata.org/generated/seaborn.clustermap.html
df = pd.DataFrame(np.random.randint(0,100,size=(10,20)))
fig_C1 = imagesc.cluster(df.values, df.index.values, df.columns.values)
fig_C2 = imagesc.cluster(df.values, df.index.values, df.columns.values, cmap='rainbow')
fig_C3 = imagesc.cluster(df.values, df.index.values, df.columns.values, cmap='rainbow', linecolor='#ffffff')
fig_C4 = imagesc.cluster(df.values, df.index.values, df.columns.values, cmap='rainbow', linecolor='#ffffff', linewidth=0)
imagesc.savefig(fig_C1, './docs/figs/cluster4.png')

C1 C2 C3 C4

fast

df = pd.DataFrame(np.random.randint(0,100,size=(10,20)))
fig_F1 = imagesc.fast(df.values, df.index.values, df.columns.values)
fig_F2 = imagesc.fast(df.values, df.index.values, df.columns.values, grid=False)
fig_F3 = imagesc.fast(df.values, df.index.values, df.columns.values, grid=False, cbar=False)
fig_F4 = imagesc.fast(df.values, df.index.values, df.columns.values, grid=True, cbar=False)
fig_F5 = imagesc.fast(df.values, df.index.values, df.columns.values, cmap='rainbow')
fig_F6 = imagesc.fast(df.values, df.index.values, df.columns.values, cmap='rainbow', linewidth=0.5, grid=True)
imagesc.savefig(fig_C1, './docs/figs/fast1.png')

F1 F2 F3 F4 F5 F6

clean

df = pd.DataFrame(np.random.randint(0,100,size=(10,20)))
fig_FC1 = imagesc.clean(df.values)
fig_FC2 = imagesc.clean(df.values, cmap='rainbow')
imagesc.savefig(fig_C1, './docs/figs/clean1.png')

F1 F2

plot

df = pd.DataFrame(np.random.randint(0,100,size=(10,20)))
fig_M1 = imagesc.plot(df.values)
fig_M2 = imagesc.plot(df.values, cbar=False)
fig_M3 = imagesc.plot(df.values, cbar=False, axis=False)
fig_M4 = imagesc.plot(df.values, cbar=False, axis=True, linewidth=0.2)
fig_M5 = imagesc.plot(df.values, df.index.values, df.columns.values)
fig_M6 = imagesc.plot(df.values, df.index.values, df.columns.values, cbar=False, linewidth=0.2)
fig_M7 = imagesc.plot(df.values, df.index.values, df.columns.values, grid=True, cbar=False, linewidth=0.2)
fig_M8 = imagesc.plot(df.values, df.index.values, df.columns.values, grid=False, cbar=False, linewidth=0.2)
fig_M9 = imagesc.plot(df.values, df.index.values, df.columns.values, grid=True, cbar=False, linewidth=0.8, linecolor='#ffffff')
fig_M10 = imagesc.plot(df.values, df.index.values, df.columns.values, grid=True, cbar=False, linewidth=0.8, linecolor='#ffffff', cmap='rainbow')
imagesc.savefig(fig, './docs/figs/plot10.png')imagesc.savefig(fig_C1, './docs/figs/fast1.png')

M1 M2 M3 M4 M5 M6 M7 M8 M9 M10

Speed:

import matplotlib.image as mpimg
img=mpimg.imread('./docs/figs/lenna.png')

fig = imagesc.clean(img)
# runtime 1.49

fig = imagesc.fast(img, cbar=False, axis=False)
# runtime: 2.931 seconds

fig = imagesc.plot(img, linewidth=0, cbar=False)
# runtime: 11.042

**fast** **clean** **plot**

Citation

Please cite imagesc in your publications if this is useful for your research. Here is an example BibTeX entry:

@misc{erdogant2019imagesc,
  title={imagesc},
  author={Erdogan Taskesen},
  year={2019},
  howpublished={\url{https://github.com/erdogant/imagesc}},
}

References

Maintainer

  • Erdogan Taskesen, github: erdogant
  • Contributions are welcome.
  • If you wish to buy me a Coffee for this work, it is very appreciated :)

Download files

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

Source Distribution

imagesc-0.1.10.tar.gz (157.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imagesc-0.1.10-py3-none-any.whl (160.8 kB view details)

Uploaded Python 3

File details

Details for the file imagesc-0.1.10.tar.gz.

File metadata

  • Download URL: imagesc-0.1.10.tar.gz
  • Upload date:
  • Size: 157.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for imagesc-0.1.10.tar.gz
Algorithm Hash digest
SHA256 45cb5461168acabcbad7f6868131177893170d0e3df4b73dbe109c8138ed6b39
MD5 db91c6c5c0ccc7852869f0b4c2be7eaf
BLAKE2b-256 9e7db35fc0e0f747282754b51853bad17fefed21582d04e5c6672ebbee0721c7

See more details on using hashes here.

File details

Details for the file imagesc-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: imagesc-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 160.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/46.4.0.post20200518 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.10

File hashes

Hashes for imagesc-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 b3ffe15129608044301acddb9bc26b55552085ecd3909ca48ec274ef0b00c47c
MD5 f3b9779250b8e6abccd9148320f48abf
BLAKE2b-256 e6d295de8482c1fb9e5d2939f8448c2728afe901eee3c96fa0ffc31e0e1ade23

See more details on using hashes here.

Supported by

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