Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #27558 > unrolled thread
| Started by | namenobodywants@gmail.com |
|---|---|
| First post | 2012-08-21 01:38 -0700 |
| Last post | 2012-08-21 13:48 -0400 |
| Articles | 5 — 4 participants |
Back to article view | Back to comp.lang.python
color coding for numbers namenobodywants@gmail.com - 2012-08-21 01:38 -0700
Re: color coding for numbers Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2012-08-21 12:55 +0200
Re: color coding for numbers DJC <djc@news.invalid> - 2012-08-21 19:07 +0200
Re: color coding for numbers Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> - 2012-08-22 12:56 +0200
Re: color coding for numbers Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2012-08-21 13:48 -0400
| From | namenobodywants@gmail.com |
|---|---|
| Date | 2012-08-21 01:38 -0700 |
| Subject | color coding for numbers |
| Message-ID | <57f81534-03af-475f-91c1-aee554e71ab6@googlegroups.com> |
hello what is the best way of using color/shading on a tkinter canvas as a visualization for a two-dimensional grid of numbers? so far my best idea is to use the same value for R,G and B (fill = '#xyxyxy'), which gives shades of gray. if possible i'd like to have a larger number of visually distinct values. i've seen visualizations that seem to use some kind of hot-versus-cold color coding. does anybody know how to do this? thanks if you can help. peace stm
[toc] | [next] | [standalone]
| From | Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> |
|---|---|
| Date | 2012-08-21 12:55 +0200 |
| Message-ID | <d16cg9-7kq.ln1@satorlaser.homedns.org> |
| In reply to | #27558 |
Am 21.08.2012 10:38, schrieb namenobodywants@gmail.com: > what is the best way Define "best" before asking such questions. ;) > using color/shading on a tkinter canvas as a visualization for a > two-dimensional grid of numbers? so far my best idea is to use the > same value for R,G and B (fill = '#xyxyxy'), which gives shades of > gray. if possible i'd like to have a larger number of visually > distinct values. The basic idea behind this is that you first normalize the values to a value between zero and one and then use that to look up an according color in an array. Of course you can also do both in one step or compute the colors in the array on the fly (like you did), but it helps keeping things simple at least for a start, and it also allows testing different approaches separately. If the different number of resulting colors isn't good enough then, it could be that the array is too small (its size determines the maximum number of different colours), that the normalization only uses a small range between zero and one (reducing the effectively used number of colours) or simply that your screen doesn't support that many different colors. > i've seen visualizations that seem to use some kind > of hot-versus-cold color coding. does anybody know how to do this? The colour-coding is just the way that above mentioned array is filled. For the hot/cold coding, you could define a dark blue for low values and a bright red for high values and then simply interpolate the RGB triple for values in between. Uli
[toc] | [prev] | [next] | [standalone]
| From | DJC <djc@news.invalid> |
|---|---|
| Date | 2012-08-21 19:07 +0200 |
| Message-ID | <k10f7r$ig0$1@dont-email.me> |
| In reply to | #27563 |
On 21/08/12 12:55, Ulrich Eckhardt wrote: > Am 21.08.2012 10:38, schrieb namenobodywants@gmail.com: >> what is the best way > > Define "best" before asking such questions. ;) <http://matplotlib.sourceforge.net/api/colors_api.html?highlight=colors#matplotlib.colors> matplotlib.colors A module for converting numbers or color arguments to RGB or RGBA RGB and RGBA are sequences of, respectively, 3 or 4 floats in the range 0-1. This module includes functions and classes for color specification conversions, and for mapping numbers to colors in a 1-D array of colors called a colormap. see <http://matplotlib.sourceforge.net/examples/pylab_examples/colours.html?highlight=colours> > > >> using color/shading on a tkinter canvas as a visualization for a >> two-dimensional grid of numbers? so far my best idea is to use the >> same value for R,G and B (fill = '#xyxyxy'), which gives shades of >> gray. if possible i'd like to have a larger number of visually >> distinct values. > > The basic idea behind this is that you first normalize the values to a > value between zero and one and then use that to look up an according > color in an array. Of course you can also do both in one step or compute > the colors in the array on the fly (like you did), but it helps keeping > things simple at least for a start, and it also allows testing different > approaches separately. > > If the different number of resulting colors isn't good enough then, it > could be that the array is too small (its size determines the maximum > number of different colours), that the normalization only uses a small > range between zero and one (reducing the effectively used number of > colours) or simply that your screen doesn't support that many different > colors. > > > > i've seen visualizations that seem to use some kind > > of hot-versus-cold color coding. does anybody know how to do this? > > The colour-coding is just the way that above mentioned array is filled. > For the hot/cold coding, you could define a dark blue for low values and > a bright red for high values and then simply interpolate the RGB triple > for values in between. > > Uli
[toc] | [prev] | [next] | [standalone]
| From | Ulrich Eckhardt <ulrich.eckhardt@dominolaser.com> |
|---|---|
| Date | 2012-08-22 12:56 +0200 |
| Message-ID | <hfqeg9-di1.ln1@satorlaser.homedns.org> |
| In reply to | #27576 |
Am 21.08.2012 19:07, schrieb DJC: > On 21/08/12 12:55, Ulrich Eckhardt wrote: >> Am 21.08.2012 10:38, schrieb namenobodywants@gmail.com: >>> what is the best way >> >> Define "best" before asking such questions. ;) > > <http://matplotlib.sourceforge.net/api/colors_api.html?highlight=colors#matplotlib.colors> Sorry, that one must have been unclear. The point was that when asking for a _best_ solution to a problem, the criteria for evaluating a solution must be known. If you don't define them and they are not implicit, there is no possible answer to the question. Uli
[toc] | [prev] | [next] | [standalone]
| From | Dennis Lee Bieber <wlfraed@ix.netcom.com> |
|---|---|
| Date | 2012-08-21 13:48 -0400 |
| Message-ID | <mailman.3615.1345571283.4697.python-list@python.org> |
| In reply to | #27558 |
On Tue, 21 Aug 2012 01:38:33 -0700 (PDT), namenobodywants@gmail.com
declaimed the following in gmane.comp.python.general:
> what is the best way of using color/shading on a tkinter canvas as a visualization for a two-dimensional grid of numbers? so far my best idea is to use the same value for R,G and B (fill = '#xyxyxy'), which gives shades of gray. if possible i'd like to have a larger number of visually distinct values. i've seen visualizations that seem to use some kind of hot-versus-cold color coding. does anybody know how to do this? thanks if you can help.
>
Last time I worked on something using a "temperature scale" it was
system with 8-10 bit planes using a color look-up table running from
dark blue through reds, greens, and finally white. Data values would be
mapped into the range of colors (32-64 depending on hardware; the other
bit planes were needed for annotations and windowing support, rather
than the color-coded data)
On more modern 24-bit (or higher) systems, where each pixel is
directly specified... I suppose one could map the data value to the
H-component of HLS or HSV (0.0-1.0, or 0 to 360deg); then convert back
to RGB. I'd suggest using a range from 0 to 300deg to avoid confusion as
the higher "temps" start to shade back to the lowest.
Strangely, while data plots tend to use dark blue for "cold" and red
for "hot", the color temperature of light is just the other -- dark red
is cold, and blue shading into white is hot.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.com/
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web