changing labeling of axes

Hi Ben,

The issue with that is that I want to retain the logarithmic binning. If I
change the xscale/yscale to log with the binning as set up now, then it
will try to scale the log values logarithmically. So I still want the axes
to be scaled in the same way, I just want the labeling of the axes to be
different. Is that clear?

Jon

···

On Wed, Nov 8, 2017 at 10:25 AM, Benjamin Root <ben.v.root at gmail.com> wrote:

You can do `ax.set_xscale('log')` to set the x-axis to log scale and
similarly for the y-axis. It'll automatically make the tick labels make
sense. Also, you won't need to pass in the log10 of n or P, matplotlib will
handle all of that for you.

Cheers!
Ben Root

On Wed, Nov 8, 2017 at 10:10 AM, Slavin, Jonathan <jslavin at cfa.harvard.edu > > wrote:

Hi,

I'm wondering if anyone knows of a good way to relabel axes for a
particular case I'm dealing with. I'm making a 2D histogram, using hist2d
of course. The thing is that for my case, where I'm plotting the density
vs. pressure for results from a hydro run, it makes more sense to use the
log of the quantities as the inputs for hist2d. So then I need to give the
log of the density and pressure to hist2d. This works fine for making the
histogram, but then the axes are labelled with log10(n), log10(P). I'd
prefer to have the axes labelled as for a logarithmic plot, so instead of
say 4.0, 10^4. Is there a simple way of doing that. I'm pretty sure I can
just specify by hand the ticks and tick labels, though that's kind of a
pain. Any help would be appreciated.

Regards,
Jon

--
________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
jslavin at cfa.harvard.edu 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
________________________________________________________

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users at python.org
https://mail.python.org/mailman/listinfo/matplotlib-users

--
________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
jslavin at cfa.harvard.edu 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20171108/c9dba31f/attachment.html>

Ah, then you need to simply change the tick formatter. Here are some
examples:

https://matplotlib.org/devdocs/gallery/ticks_and_spines/tick-formatters.html

Cheers!
Ben Root

···

On Wed, Nov 8, 2017 at 11:09 AM, Slavin, Jonathan <jslavin at cfa.harvard.edu> wrote:

Hi Ben,

The issue with that is that I want to retain the logarithmic binning. If I
change the xscale/yscale to log with the binning as set up now, then it
will try to scale the log values logarithmically. So I still want the axes
to be scaled in the same way, I just want the labeling of the axes to be
different. Is that clear?

Jon

On Wed, Nov 8, 2017 at 10:25 AM, Benjamin Root <ben.v.root at gmail.com> > wrote:

You can do `ax.set_xscale('log')` to set the x-axis to log scale and
similarly for the y-axis. It'll automatically make the tick labels make
sense. Also, you won't need to pass in the log10 of n or P, matplotlib will
handle all of that for you.

Cheers!
Ben Root

On Wed, Nov 8, 2017 at 10:10 AM, Slavin, Jonathan < >> jslavin at cfa.harvard.edu> wrote:

Hi,

I'm wondering if anyone knows of a good way to relabel axes for a
particular case I'm dealing with. I'm making a 2D histogram, using hist2d
of course. The thing is that for my case, where I'm plotting the density
vs. pressure for results from a hydro run, it makes more sense to use the
log of the quantities as the inputs for hist2d. So then I need to give the
log of the density and pressure to hist2d. This works fine for making the
histogram, but then the axes are labelled with log10(n), log10(P). I'd
prefer to have the axes labelled as for a logarithmic plot, so instead of
say 4.0, 10^4. Is there a simple way of doing that. I'm pretty sure I can
just specify by hand the ticks and tick labels, though that's kind of a
pain. Any help would be appreciated.

Regards,
Jon

--
________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
jslavin at cfa.harvard.edu 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
________________________________________________________

_______________________________________________
Matplotlib-users mailing list
Matplotlib-users at python.org
https://mail.python.org/mailman/listinfo/matplotlib-users

--
________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
jslavin at cfa.harvard.edu 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
________________________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/matplotlib-users/attachments/20171108/014b2489/attachment.html>