Dear Kcrisman,
    I will look into it *if* you promise me to *review* and *close* my 
another ticket   https://trac.sagemath.org/ticket/34038
based on the thread   
https://groups.google.com/g/sage-devel/c/tMH1RZNyC9s/m/DRwexGpzAwAJ
😀 

With regards
Niranjana

On Wednesday, July 27, 2022 at 7:05:51 PM UTC+5:30 kcrisman wrote:

> This is a good question, and one that has been around for a while in some 
> form, unfortunately; see https://trac.sagemath.org/ticket/7964 for a 
> related ticket.   See https://trac.sagemath.org/ticket/30983 for a ticket 
> that complains instead about something else but which is closely related.
>
> We would be grateful for any additional insight you might provide.  Here 
> are some pieces of info about where we use matplotlib that you might find 
> useful in that regard.
>
> We use some specific matplotlib ticker and formatter options which don't 
> always play well here.  See 
> https://github.com/sagemath/sage/blob/develop/src/sage/plot/graphics.py#L2326 
> for _matplotlib_tick_formatter in sage/plot/graphics.py
>
> In particular, note that, under ordinary circumstances,
>
> y_locator = MaxNLocator(**locator_options)
> y_formatter = ScalarFormatter()
>
> That is very close to the defaults for matplotlib, but maybe we are using 
> things in an antiquated way.  See e.g. 
> https://matplotlib.org/stable/api/ticker_api.html#matplotlib.ticker.ScalarFormatter
>  
>
> On the other hand, if (as I suspect) that isn't the root issue, it 
> probably is in the save method (
> https://github.com/sagemath/sage/blob/develop/src/sage/plot/graphics.py#L3198).
>  
>  My first thought was that somehow fig_tight played a role, but 
>
> sage: plot(x^2,(x,0,5000),fig_tight=False)
>
> doesn't seem to be any different than the one you pointed out.  Another 
> possibility is tight_layout (
> https://matplotlib.org/stable/api/tight_layout_api.html) which we do use, 
> but which a little experimentation doesn't seem to indicate is the problem 
> either.
> On Tuesday, July 26, 2022 at 5:15:11 AM UTC-4 niran...@gmail.com wrote:
>
>> Dear all,
>>     "2D plotting" doc says,
>> "Another thing to be aware of with axis labeling is that when the labels 
>> have quite different orders of magnitude or are very large, scientific 
>> notation (the e  notation for powers of ten) is used."
>>
>> But display of this multiplier power for the scaled y-axis is missing if 
>> the plot starts with x=0 or at most will be missing till the x-axis 
>> detaches from the origin. Following examples illustrates it,
>>
>> *sage:*  plot(x^2,(x,0,5000))  # missing display of 1e7 above y-axis
>> *sage:*  plot(x^2,(x,50,5000))  # missing display of 1e7 above y-axis
>> *sage:*  plot(x^2,(x,100,5000))  # display of 1e7 above y-axis is visible
>>
>> On the other side matplotlib natively always displays the scale 
>> multiplier (if any) whenever numbers are large. For example:
>>
>> *sage:*  import matplotlib.pyplot as plt
>> *sage:*  import numpy as np
>> *sage:*  z = np.linspace(0, 5000, 100)
>> *sage:*  plt.plot(z, z**2)
>> *sage:*  plt.show()
>>
>> My other plots involved electric field calculations which had magnitudes 
>> around 1/epsilon_0 which is 1/(8.85E-12) =~ 10^11. For those plots starting 
>> with x=0 the display of multiplier used for y-axis were missing.
>>
>> With regards
>> Niranjana
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/33ada506-b846-4929-8901-712821a85f1an%40googlegroups.com.

Reply via email to