SourceForge logo
SourceForge logo
Menu

matplotlib-users

From: Jim H. <jim...@gm...> - 2009年10月28日 10:17:08
Greetings,
I've been having difficulties with axis limit control. From a bigger
application I've reduced an example down to the following short code
segment. Note, the commented-out line, #x = numpy.linspace(98.42, 99.21,
100), line in which the example works OKAY.
What is annoying is that the following example will produce a graph in which
the x-axis is labeled at ticks starting at 0.1 going to 0.35 (times 1.474e2
!) Instead, I am expecting an axis from 147.63 to 148.31. Note that if you
swap out the x with the commented-out line the example works like I would
expect.
By the way, this example is with pylab. However, I've got the same problem
using plt from matplotlib or anything matplotlib related.
===
import random
import numpy
import pylab
#x = numpy.linspace(98.42, 99.21, 100)
x = numpy.linspace(147.63, 148.31, 100)
y = numpy.random.random((len(x)))
pylab.plot(x, y)
pylab.xlim(numpy.min(x), numpy.min(x))
pylab.show()
--
--------------------
Jim A. Horning
ji...@ji...
From: Michael D. <md...@st...> - 2009年10月28日 13:55:49
Jim Horning wrote:
> Greetings,
>
> I've been having difficulties with axis limit control. From a bigger 
> application I've reduced an example down to the following short code 
> segment. Note, the commented-out line, #x = numpy.linspace(98.42, 
> 99.21, 100), line in which the example works OKAY.
>
> What is annoying is that the following example will produce a graph in 
> which the x-axis is labeled at ticks starting at 0.1 going to 0.35 
> (times 1.474e2 !) Instead, I am expecting an axis from 147.63 to 
> 148.31. Note that if you swap out the x with the commented-out line 
> the example works like I would expect.
First, a small bug in your example. I think you meant:
pylab.xlim(numpy.min(x), numpy.min(x))
to be:
pylab.xlim(numpy.min(x), numpy.max(x))
In the former case, when you have "unity" limits, matplotlib adds a 
small delta to the min and max so the range is not empty.
Once this is fixed, the notation is actually ~0.1 to ~0.8 *plus* (not 
*times*) 1.474e2, which is at least correct, if not desired. The reason 
matplotlib does this is that, for space considerations, it avoids 
displaying ticks with more than 4 significant digits. Since the range 
here is so small, it prints the "offset" in the lower right and adjusts 
the ticks accordingly. Unfortunately, this number of significant digits 
isn't user customizable, though perhaps it should be (just as the range 
for scientific notation is). Can you file an enhancement request in the 
tracker so this doesn't get lost?
Does anyone with more experience with the scientific notation/offset 
code have any further comments?
Mike
>
> By the way, this example is with pylab. However, I've got the same 
> problem using plt from matplotlib or anything matplotlib related.
> ===
>
> import random
> import numpy
> import pylab
>
> #x = numpy.linspace(98.42, 99.21, 100)
> x = numpy.linspace(147.63, 148.31, 100)
> y = numpy.random.random((len(x)))
> pylab.plot(x, y)
> pylab.xlim(numpy.min(x), numpy.min(x))
> pylab.show()
>
>
> --
> --------------------
> Jim A. Horning
> ji...@ji... <mailto:ji...@ji...>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay 
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> ------------------------------------------------------------------------
>
> _______________________________________________
> Matplotlib-users mailing list
> Mat...@li...
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 
-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA
From: Jae-Joon L. <lee...@gm...> - 2009年10月28日 21:48:45
On Wed, Oct 28, 2009 at 9:55 AM, Michael Droettboom <md...@st...> wrote:
> Does anyone with more experience with the scientific notation/offset
> code have any further comments?
While it is possible to turn off using the offset (or setting it
manually), the api is not very friendly.
fmt = gca().xaxis.get_major_formatter()
fmt._useOffset = False
fmt.offset = 0
Regards,
-JJ
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /