Thank you for your fast reply,
you are right, AnchoredSizeBar has indeed almost all features I would
like. Or it definitely has the most important ones.
I have stumbled upon the page you refer, but I must have overlooked it.
An actual documentation of the function wouldn't hurt

Anyway, these features seem to be missing:
  - Bar styles (bar width, bar endings wouldn't hurt either).
  - Colors (bar, text, background).

I would like to look into it, but it is usually more efficient if more
experienced persons provide some pointers. So if you think that I should
know something before attempting to add the functionality, please let me
know.
For instance, do you think that the enhancements I have proposed make
sense and should be integrated into AnchoredSizeBar?

Matej

On 11/18/2012 06:32 PM, Joe Kington wrote:
> Have you had a look at "AnchoredSizeBar" from 
> mpl_toolkits.axes_grid1.anchored_artists?
>
> http://matplotlib.org/1.1.1/mpl_toolkits/axes_grid/users/overview.html#anchoredartists
>
> It provides essentially all of the features you mention.  I'd agree it 
> could use a few enhancements, but it's a good start on this.
>
> As a quick example of using it as you describe:
>
> import matplotlib.pyplot as plt
> import numpy as np
> from mpl_toolkits.axes_grid1.anchored_artists import AnchoredSizeBar
>
> fig, ax = plt.subplots()
> ax.imshow(np.random.random((10,10)))
>
> bar = AnchoredSizeBar(ax.transData, 2, '2 Units',
> pad=0.5, loc=8, sep=5, borderpad=0.5, frameon=True)
> bar.patch.set(alpha=0.5, boxstyle='round')
> ax.add_artist(bar)
>
> plt.show()
>
>
> Note that this is very similar to your example.  The main things it's 
> missing are ends on the scalebar.
>
> I'd certainly agree that it could use some enhancements (e.g. 
> different styles of scalebars and better documentation), but perhaps 
> it's best to start with AnchoredSizeBar instead of recreating it from 
> scratch?
>
> Just my thoughts, anyway.
> -Joe
>
>
> On Sun, Nov 18, 2012 at 8:16 AM, Matěj Týč <matej....@gmail.com 
> <mailto:matej....@gmail.com>> wrote:
>
>     Dear developers,
>     I use Matplotlib to process and display images acquired by
>     microscopes.
>     It is quite common to indicate dimensions by displaying scale bar
>     in the
>     image rather than using axes with labels. Although axes enable you to
>     refer to specific location in the image, they take up space around the
>     image, so if you only need to show the scale, scale bar is better.
>
>     What is needed:
>      - The scale bar of given dimension (data units), possibly with
>     bars at
>     its ends.
>      - Text (presumably centered under the bar), text size as well as
>     vertical offset in physical units (= units reflecting the actual image
>     size, like the font size)
>      - Semi-transparent rectangle, so the scale and label are more
>     readable
>      - Dark/bright theme might be a good idea.
>     I have made an svg file in Inkscape, so you can see what I mean.
>
>     First of all, I tried to implement the stuff myself, but later I have
>     found out that there is something on github. I have forked it,
>     made some
>     minor modifications, and I think that it is "almost done".
>     https://gist.github.com/4100881 (the add_scalebar function there is
>     broken ATM)
>     I also attach the test code for your convenience. You need to run it
>     with scalebars.py in the same directory.
>     You are supposed to see a tiny bright scalebar at the bottom right
>     corner.
>
>     There are some outstanding issues, though:
>
>      - I have a feeling that bars at the end of the scale bar should be
>     related to the font size, as well as the actual width of the scale
>     bar.
>     How to achieve this?
>      - How to make the semi-transparent background for the bar and
>     label in
>     a smart way?
>
>     Could you help me with those? I would like this to appear in
>     matplotlib
>     since it is IMO a useful feature, what needs to be done?
>     Regards,
>     Matěj Týč
>
>     
> ------------------------------------------------------------------------------
>     Monitor your physical, virtual and cloud infrastructure from a single
>     web console. Get in-depth insight into apps, servers, databases,
>     vmware,
>     SAP, cloud infrastructure, etc. Download 30-day Free Trial.
>     Pricing starts from $795 for 25 servers or applications!
>     http://p.sf.net/sfu/zoho_dev2dev_nov
>     _______________________________________________
>     Matplotlib-devel mailing list
>     Matplotlib-devel@lists.sourceforge.net
>     <mailto:Matplotlib-devel@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
>


------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to