Code Monkey home page Code Monkey logo

Comments (3)

lukelbd avatar lukelbd commented on May 22, 2024 1

If you pass vmin and vmax to contourf directly, they will be used:

ax.contourf(chl.lon, chl.lat, chl.values, norm='log', vmin=0.01, vmax=10, levels=30, cmap='Fire', ) 

But it's definitely not right to just ignore norm_kw. Just pushed a patch (5b09d89), now cmap_wrapper checks to see if vmin and vmax were passed in the norm_kw dictionary.

from proplot.

bradyrx avatar bradyrx commented on May 22, 2024

@lukelbd, FYI, this solution doesn't work. I forgot I tried that before.

plot.rc['geogrid.alpha'] = 0

plot.rc.fontname = 'Helvetica Light'
f, ax = plot.subplots(proj='cyl', axwidth='8cm',)
p = ax.contourf(chl.lon, chl.lat, chl, norm='log', vmin=0.01, vmax=10, levels=30)
ax.colorbar(p, loc='r')
ax.format(land=True, latlim=(20, 50), lonlim=((-140, -105)))

Screen Shot 2019-09-02 at 4 06 12 PM

I think you might get this behavior if you use the LogLocator directly. (https://matplotlib.org/3.1.1/gallery/images_contours_and_fields/contourf_log.html)

from proplot.

lukelbd avatar lukelbd commented on May 22, 2024

Okay this patch seems to do the trick: a3ebbb1. Try:

f, ax = plot.subplots()
ax.pcolormesh(10**(np.random.rand(10,10)*5), vmin=0.1, vmax=10, norm='log', colorbar='r')

Previously if you specified both vmin and vmax I just set the levels to np.linspace(vmin, vmax, N), because most locators treat vmin and vmax as suggested locations, not absolute locations. For example, if you used vmax=20, the actual level maximum would be 10. But now this is documented, and I think it makes more sense that if you really want exact locations, you should provide your own levels array.

from proplot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.