Michael Hearne wrote:
Jeff - Darn it. So is there a way to embed an axis _inside_ another, possibly with a transparent background?
--Mike
Mike: Not quite sure why you need to have it transparent - you definitely can't have that with postscript, but it should be possible with the other backends (png, pdf or svg). There's an example of embedded axes at http://matplotlib.sourceforge.net/screenshots.html (axes_demo.py). The inset axes is just drawn on top of the primary axes in the same figure. Is that what you want?
-Jeff
···
On Dec 14, 2007, at 12:28 PM, Jeff Whitaker wrote:
Michael Hearne wrote:
I am using Basemap, and trying to create two maps:
One large-scale map, and a small-scale inset map of the world centered on the location of the large-scale map. My ultimate goal is to create a figure where the inset map is inserted into a corner of the large-scale map. I can see two ways of doing this:
1) Create both as encapsulated postscript images separately, and put them together in a later "compositing" process. (I'm doing this already).
2) Create both as basemap instances, and then draw the smaller one on top of the large-scale one. I have no idea how to do this.
A problem I have encountered with the first method is that my image background is set to white by default. I've tried to make it transparent by doing the following:
fig = figure(figsize=(5,5),frameon=False) #turn the frame off completely
fig.figurePatch.set_alpha(0.0) #tried setting this to 1.0 and 0.0, neither works
Method #2 would be cleaner, if I could do what I wanted to do in terms of transparencies, but if not, I'll take method #1.
Does anyone know if it is possible to set the image background transparent for encapsulated postscript output?
Thanks,
Mike
Mike: Postscript doesn't support alpha transparency. It might work with PDF though.
-Jeff
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259... <mailto:Jeffrey.S.Whitaker@…259…>
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory
------------------------------------------------------
Michael Hearne
mhearne@...924... <mailto:mhearne@…924…>
(303) 273-8620
USGS National Earthquake Information Center
1711 Illinois St. Golden CO 80401
Senior Software Engineer
Synergetics, Inc.
------------------------------------------------------
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory
Jeff - Yes, that’s what I want, thanks.
I think more explanation is in order - my large-scale map is the default basemap projection. The inset map of the globe is a orthogonal projection, which means it comes out as a little circle. I want to insert this smaller map into the larger one, without having to see the area around the circle.
I’m having trouble explaining this… here’s an example:
http://earthquake.usgs.gov/eqcenter/pager/us/2007kwau/us/1/onePAGER.pdf
I want to replicate the little inset globe on the map with the contours.
–Mike
···
On Dec 14, 2007, at 12:49 PM, Jeff Whitaker wrote:
Michael Hearne wrote:
Jeff - Darn it. So is there a way to embed an axis inside another, possibly with a transparent background?
–Mike
Mike: Not quite sure why you need to have it transparent - you definitely can’t have that with postscript, but it should be possible with the other backends (png, pdf or svg). There’s an example of embedded axes at http://matplotlib.sourceforge.net/screenshots.html (axes_demo.py). The inset axes is just drawn on top of the primary axes in the same figure. Is that what you want?
-Jeff
On Dec 14, 2007, at 12:28 PM, Jeff Whitaker wrote:
Michael Hearne wrote:
I am using Basemap, and trying to create two maps:
One large-scale map, and a small-scale inset map of the world centered on the location of the large-scale map. My ultimate goal is to create a figure where the inset map is inserted into a corner of the large-scale map. I can see two ways of doing this:
- Create both as encapsulated postscript images separately, and put them together in a later “compositing” process. (I’m doing this already).
- Create both as basemap instances, and then draw the smaller one on top of the large-scale one. I have no idea how to do this.
A problem I have encountered with the first method is that my image background is set to white by default. I’ve tried to make it transparent by doing the following:
fig = figure(figsize=(5,5),frameon=False) #turn the frame off completely
fig.figurePatch.set_alpha(0.0) #tried setting this to 1.0 and 0.0, neither works
Method #2 would be cleaner, if I could do what I wanted to do in terms of transparencies, but if not, I’ll take method #1.
Does anyone know if it is possible to set the image background transparent for encapsulated postscript output?
Thanks,
Mike
Mike: Postscript doesn’t support alpha transparency. It might work with PDF though.
-Jeff
–
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@…259… mailto:Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Michael Hearne
mhearne@…924… mailto:mhearne@...924...
(303) 273-8620
USGS National Earthquake Information Center
1711 Illinois St. Golden CO 80401
Senior Software Engineer
Synergetics, Inc.
–
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@…259…
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg
Michael Hearne
mhearne@…924…
(303) 273-8620
USGS National Earthquake Information Center
1711 Illinois St. Golden CO 80401
Senior Software Engineer
Synergetics, Inc.
Michael Hearne wrote:
Jeff - Yes, that's what I want, thanks.
I think more explanation is in order - my large-scale map is the default basemap projection. The inset map of the globe is a orthogonal projection, which means it comes out as a little circle. I want to insert this smaller map into the larger one, without having to see the area around the circle.
I'm having trouble explaining this... here's an example:
http://earthquake.usgs.gov/eqcenter/pager/us/2007kwau/us/1/onePAGER.pdf
I want to replicate the little inset globe on the map with the contours.
--Mike
Mike: Something like this?
from matplotlib.toolkits.basemap import Basemap
import pylab
fig = pylab.figure()
ax1 = fig.add_axes([0.1,0.1,0.8,0.8])
m = Basemap(ax=ax1)
m.drawcoastlines(linewidth=0.5)
m.fillcontinents()
ax2 = fig.add_axes([0.1,0.425,0.15,0.15])
m2 = Basemap(projection='ortho',lon_0=-105,lat_0=40,ax=ax2)
m2.drawmapboundary(fill_color='aqua')
m2.drawcoastlines(linewidth=0.1)
m2.fillcontinents(color='coral',lake_color='aqua')
pylab.show()
-Jeff
···
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory
Jeff - Yes! I’m working on implementing this now for my app…
FYI, I got the following error:
TypeError: drawmapboundary() got an unexpected keyword argument ‘fill_color’
and again for ‘lake_color’ on the fillcontinents() method.
I’m using 0.9.7, which I think is the latest released version…
–Mike
···
On Dec 14, 2007, at 1:31 PM, Jeff Whitaker wrote:
from matplotlib.toolkits.basemap import Basemap
import pylab
fig = pylab.figure()
ax1 = fig.add_axes([0.1,0.1,0.8,0.8])
m = Basemap(ax=ax1)
m.drawcoastlines(linewidth=0.5)
m.fillcontinents()
ax2 = fig.add_axes([0.1,0.425,0.15,0.15])
m2 = Basemap(projection=‘ortho’,lon_0=-105,lat_0=40,ax=ax2)
m2.drawmapboundary(fill_color=‘aqua’)
m2.drawcoastlines(linewidth=0.1)
m2.fillcontinents(color=‘coral’,lake_color=‘aqua’)
pylab.show()
Michael Hearne
mhearne@…924…
(303) 273-8620
USGS National Earthquake Information Center
1711 Illinois St. Golden CO 80401
Senior Software Engineer
Synergetics, Inc.
Michael Hearne wrote:
Jeff - Yes! I'm working on implementing this now for my app...
FYI, I got the following error:
TypeError: drawmapboundary() got an unexpected keyword argument 'fill_color'
and again for 'lake_color' on the fillcontinents() method.
I'm using 0.9.7, which I think is the latest released version...
Mike: Those are new keywords in 0.9.8 (released a few weeks ago).
-Jeff
···
--Mike
On Dec 14, 2007, at 1:31 PM, Jeff Whitaker wrote:
from matplotlib.toolkits.basemap import Basemap
import pylab
fig = pylab.figure()
ax1 = fig.add_axes([0.1,0.1,0.8,0.8])
m = Basemap(ax=ax1)
m.drawcoastlines(linewidth=0.5)
m.fillcontinents()
ax2 = fig.add_axes([0.1,0.425,0.15,0.15])
m2 = Basemap(projection='ortho',lon_0=-105,lat_0=40,ax=ax2)
m2.drawmapboundary(fill_color='aqua')
m2.drawcoastlines(linewidth=0.1)
m2.fillcontinents(color='coral',lake_color='aqua')
pylab.show()
------------------------------------------------------
Michael Hearne
mhearne@...924... <mailto:mhearne@…924…>
(303) 273-8620
USGS National Earthquake Information Center
1711 Illinois St. Golden CO 80401
Senior Software Engineer
Synergetics, Inc.
------------------------------------------------------
--
Jeffrey S. Whitaker Phone : (303)497-6313
Meteorologist FAX : (303)497-6449
NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...
325 Broadway Office : Skaggs Research Cntr 1D-124
Boulder, CO, USA 80303-3328 Web : Jeffrey S. Whitaker: NOAA Physical Sciences Laboratory