Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 03:04
    ejdress commented #21388
  • 02:14
    TheGreatGalaxy commented #21344
  • 02:07
    TheGreatGalaxy commented #21344
  • 02:06
    QuLogic commented #21387
  • 02:04
    QuLogic commented #21388
  • 02:03
    QuLogic commented #21381
  • 02:03
    TheGreatGalaxy commented #21344
  • 01:57
    TheGreatGalaxy commented #21344
  • 01:47
    ejdress opened #21388
  • 01:32
    RebeccaWPerry commented #20877
  • 00:56

    story645 on master

    Factor common parts of saving t… Merge pull request #21376 from … (compare)

  • 00:56
    story645 closed #21376
  • 00:52
    JK-SHI closed #21383
  • 00:52
    JK-SHI commented #21383
  • 00:48
    QuLogic labeled #21387
  • 00:48
    QuLogic labeled #21387
  • 00:48
    QuLogic milestoned #21387
  • 00:48
    QuLogic opened #21387
  • Oct 19 23:12
    QuLogic commented #21381
  • Oct 19 23:11
    QuLogic labeled #21381
Bruno Beltran
@brunobeltran
hmm I am on the mailing list, just need somewhere i can look up the correct "in-reply-to" for a message that came in before I was added to the list
Antony Lee
@anntzer
@tacaswell you should get the average of top and bottom colors if your mental model is "I'm looking at the checkerboard from very far away"...
Thomas A Caswell
@tacaswell
@brunobeltran oh, hmm, interesting not sure
Ryan May
@dopplershift
@anntzer Nope, if I sample a checkerboard of temperatures, I get a pixel that measures at a value of the average of the top and bottom temperatures.
Bruno Beltran
@brunobeltran

well if somebody who is on the mailing list just wants to do a zero-effort user help, feel free to copy/paste respond to most recent message with:

You should be able to manually increase the maximum number of "ticks" that you find acceptable by using matplotlib.ticker.LogLocator(numticks=N), like so:

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker

t = np.logspace(0, 4, 10)
fig = plt.figure()
ax = fig.add_subplot()
ax.loglog(t, t**3)

enough_ticks = matplotlib.ticker.LogLocator(numticks=15)
ax.get_yaxis().set_major_locator(enough_ticks)
i'm on the list now so I can deal with follow-ups
Thomas A Caswell
@tacaswell
I have the sense there should be a better way of telling either the locator or the formatter to stop trying to be helpful
there is a lot of magic in the log ticker and locator...
Bruno Beltran
@brunobeltran
yeah I get that sense too, but it's not well documented (was literally opening an issue about LogLocator.__init__'s docstring right now, and I don't have time to figure out how it works rn and what I suggest does work, so
🤷
Ryan May
@dopplershift
Didn't we just merge a PR suggesting using yaxis directly instead of get_yaxis()?
Thomas A Caswell
@tacaswell
yes
Bruno Beltran
@brunobeltran
ooops, thanks for that, you're right
Ryan May
@dopplershift
No worries
Bruno Beltran
@brunobeltran
muscle memory
Thomas A Caswell
@tacaswell
done
did the mailing list tell you you had to join to post?
Ryan May
@dopplershift
Regarding the checkerboard, I think of downsampling as a zoomed out view of the data (or the real world) rather than the a zoomed out view of the picture we've made of the data (the RGB values).
Bruno Beltran
@brunobeltran
@tacaswell I think I can post just fine, it's just having the message to reply to in the first place ;)
Jody Klymak
@jklymak
Lets continue checkerboard discussion at the issue; I think we should actually do both and make them clearer to the user.
hannah
@story645
GSOC is reducing scope next year (half the money & half the time expectation) https://twitter.com/pavithraes/status/1316816191235579904?s=19
Jody Klymak
@jklymak
Hi all,
Thomas A Caswell
@tacaswell
I may be a few minutes late, calling in from a different computer and apparently have to update zoom :facepalm:
Jody Klymak
@jklymak
@anntzer suggests that it would be relatively easy to vendor the agg filters, presumably w/o the 0-1 stricture which makes it a problem to deal with high-bandwidth data. OTOH, are we dead against scipy.ndimage? I've been told scipy is too big a dependancy, but is that really true in 2020? What fraction of folks do we think are installing matplotlib, but not scipy?
Ryan May
@dopplershift
It's not just that scipy is heavy weight, it's that scipy requires a FORTRAN compiler. Currently, conda-forge still can't build windows packages of scipy on windows-based CI infrastructure.
I hate the idea that we reimplement the image processing that already exists in scipy.ndimage. At the same time, scipy is still not a trivial dependency.
Jody Klymak
@jklymak
As a point of reference, skimage uses scipy.ndimage.
Currently, conda-forge still can't build windows packages of scipy on windows-based CI infrastructure.
Wow!
Ryan May
@dopplershift
Stupid FORTRAN.
Jody Klymak
@jklymak
OK, but you can install scipy from anaconda?
Ryan May
@dopplershift
That and they occassionally have manually uploaded windows builds for conda-forge. My point was more, currently our windows users can build everything from source, though I'm not sure how prevalent that is. If we depend on scipy, now getting a proper fortran compiler working with visual studio is added to the set. I have no idea whether that's too much to ask, or relevant, just pointing out that it becomes part of the stack.
Jody Klymak
@jklymak
Certainly a fortran compiler showing up in a build is a big bummer. I had to instal octave the other day for a 20 minutes chore that turned into 3 hrs of my old computer grinding away compiling a gfortran that I didn't need for anything else
Jody Klymak
@jklymak
ndimage, so far as I can tell, is all written in C. maybe vendoring it would be ugly, but is another option.
Its a bummer that it is not a standalone package...
Thomas A Caswell
@tacaswell
This was one of the motivations of stating skimage
Jody Klymak
@jklymak
skimage depends on ndimage I thought?
Thomas A Caswell
@tacaswell
I think so, there is (was atleast) a goal of eventually reversing the dependency
Jody Klymak
@jklymak
scikit-image definitely has scipy as a depedency
We vendor Agg now, so I guess I'd say vending ndimage is no worse. Regardless of today's discussion, it may be worth it to get around Agg's 0-1 restriction on the filters....
Thomas A Caswell
@tacaswell
I'm sure it would just change the problems we have, but I am a bit pessimistic....
Jody Klymak
@jklymak
Well, if you don't have to pre-clip the data, it makes the logic a lot more streamlined
Thomas A Caswell
@tacaswell
but it won't get us around having to make sure we do "the right thing" with wildly ill-conditioned user data, I have faith that floats will find some other way to miss-behave :-p
Jody Klymak
@jklymak
... yeah, but then we could blame it on ndimage ;-)
I put a winky there, but actually I think there is lots of power in us not rolling our own...
Bruno Beltran
@brunobeltran
any pointers on how to deprecate a class property? @deprecated works for properties, but not being able to call it using the class scope would technically be a change of API? and _deprecate_privatize_attribute seems to make it a property under the hood, which has the same issue
Bruno Beltran
@brunobeltran

tl;dr: if I do this

class Line2D(...):
    _validJoin = ('miter', 'round', 'bevel') 
    validJoin = _deprecate_privatize_attribute('3.4.0')

Then this no longer works

>>> Line2D.validJoin
Antony Lee
@anntzer
I think combining cbook.classproperty and deprecated can be made to work relatively easily
(untested)
I guess it's just a matter, in the implementation of deprecated, of replacing if isinstance(obj, property) by isinstance(obj, (property, classproperty)), and of changing the base class of _deprecated_property from property to type(obj)