Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Dec 02 2020 08:54
    samuelsinayoko opened #40
  • Aug 24 2020 07:48
    cool-RR opened #39
  • Aug 21 2018 21:43
    kdorr opened #38
  • Aug 21 2018 21:40
    kdorr opened #37
  • Aug 21 2018 21:40
    kdorr opened #36
  • Aug 21 2018 21:39
    kdorr opened #35
  • Aug 21 2018 18:50
    palnabarun synchronize #34
  • Aug 21 2018 18:28
    palnabarun synchronize #34
  • Aug 21 2018 04:36
    palnabarun synchronize #18
  • Aug 21 2018 01:27
    palnabarun opened #34
  • Aug 21 2018 01:24
    palnabarun assigned #33
  • Aug 21 2018 01:24
    palnabarun opened #33
  • Aug 20 2018 23:55
    kdorr synchronize #24
  • Aug 20 2018 23:52
    kdorr synchronize #26
  • Aug 20 2018 23:51
    kdorr synchronize #23
  • Aug 20 2018 23:47
    kdorr synchronize #25
  • Aug 20 2018 22:22
    kdorr synchronize #22
  • Aug 20 2018 21:49
    kdorr synchronize #24
  • Aug 20 2018 21:36
    kdorr synchronize #26
  • Aug 20 2018 00:03
    story645 closed #21
hannah
@story645
that's usually what breaks these sorts of things
also can you ask on the matplotlib channel? I think there is a way to see the images but I don't quite know how
kdorr
@kdorr
I'm using 2.8.0 of freetype
hannah
@story645
yeah, it's using freetype 2.6 - I think @tacaswell plans to sort this out on the travis side
Thomas A Caswell
@tacaswell
there is an ENV you can set when installing matplotlib which will locally install the correct version, but I think you have to install mpl from source for that to work
There may be a conda-forge package with the correct dependancies
Nabarun Pal
@palnabarun
Hi
What is the link to the call?
hannah
@story645
@kdorr try export MPLLOCALFREETYPE=1 and python setup.py build_ext --inplace
create a new conda env, run git clean to remove build artifacts
and try then the export and the above setup command
Nabarun Pal
@palnabarun
  • [ ] axis

    • [x] Disable DefaultConfig Overrides
    • [ ] axis.values
    • [ ] axis.tickColor Not Supported by altair
    • [ ] axis.tickOpacity Not Supported by altair

    • [x] axis.labelAngle

    • [ ] axis.labelColor Not Supported by altair
    • [ ] axis.labelOpacity Not Supported by altair
    • [ ] axis.tickCount Not applicable to non-quant scales
    • [x] axis.labels
    • [x] axis.orient
Thomas A Caswell
@tacaswell
I am having trouble finding a link for the call today...
Nabarun Pal
@palnabarun
Me too.
kdorr
@kdorr
Yep
Nabarun Pal
@palnabarun
Shall I create one?
Thomas A Caswell
@tacaswell
yes please
Nabarun Pal
@palnabarun
This message was deleted
kdorr
@kdorr

I’ve had an idea to create a class that would allow the data/metadata from the altair chart to be parsed and stored in an object. This seems a little cleaner to me than our current implementation, which is to re-parse a portion of the chart for each channel in each step of the conversion.

I’m thinking it would look something like this: https://gist.github.com/kdorr/bff03aee0593102c46fa4568568b0076

It would simplify convert_axis() (https://github.com/matplotlib/mpl-altair/blob/master/mplaltair/_axis.py#L222), _convert() (https://github.com/matplotlib/mpl-altair/blob/master/mplaltair/_convert.py#L121), and current/future implementations of different chart types.

However, it’s currently possible to add other plot types without this and lot of the current codebase would need to be tweaked to work with the change (namely _axis.py and _convert.py). It would probably take me .5-1.5 days to implement it.

Could I get feedback on this? Is it something that would be useful to work on? If so, with the limited time left this summer, is it worth pursuing right now?

hannah
@story645
Hi, sorry just saw this now (my notifications have been super wonky)
I think it's a really good idea and worth doing now before even more code is built around the other implementation, but I also want to know if @tacaswell has concerns about this approach
Thomas A Caswell
@tacaswell
Might be better to use a SimpleNamespace( https://docs.python.org/3/library/types.html#types.SimpleNamespace) if the goal is to just stash pre-derived values from the altair input
Thomas A Caswell
@tacaswell
My knee-jerk reaction to creating new classes is to ask if there is a way to not (as objects to get more 'special' over time and collect complexity and the complex work arounds to the problems caused by the complexity....)
kdorr
@kdorr
For the most part, I think the goal is to stash pre-derived values from altair inputs, but there are some cases where that input might need to be modified pretty early on (ex: converting temporal data to something mpl can deal with).
At least at this point, I think a SimpleNamespace could work (with a decent amount of helper functions) if we want to avoid creating a class.
Thomas A Caswell
@tacaswell
In principle I think it is a good idea (sorry, that was not clear)
I am quibbling about the implementation details
and there as (as with everything!) trade offs both ways
the SN route is 'simpler' in the sense that we do not need to create a new class and are using the batteries that python has built in
but if we end up having many helper functions, maybe a class would be better to keep them organized
using a class also means we could do things like properties to make expensive computations lazy
kdorr
@kdorr
That all makes sense
In thinking about future complexity, I think I'm inclined towards the class option.
Thomas A Caswell
@tacaswell
ok
kdorr
@kdorr
Is the meeting that's set up for midnight eastern time happening?
Nabarun Pal
@palnabarun
I am confused with the meeting timings.
It is showing 9.30AM-9.30PM in my time zone.
kdorr
@kdorr
Yeah. It's showing 11pm yesterday-11am today in my time zone. I'm out of the house from around 9:40-11:20am eastern time, but I'm available for a meeting today other than that.
Thomas A Caswell
@tacaswell
I thought we were meeting at the end time of that meeting
if you are both still available, we should meet, but I am going to be 10-15 minutes late
kdorr
@kdorr
I'm still available