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
@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
hannah
@story645
Ack, sorry about the weird times for the meetings - got mixed up when trying to move the meetings
kdorr
@kdorr
PR #21 is ready for review/merging.
kdorr
@kdorr
I made a few PRs for rough drafts of blog posts. They're basically smaller sections from the blog post that Nabarun and I were working on. Could I get feedback/extra eyes on them?
hannah
@story645
Sure, will try to get to them in the next couple of days
kdorr
@kdorr
Thanks!
kdorr
@kdorr
Blog post documentation should all be updated. I'm not sure if the linking to other posts works correctly. I didn't quite get all my hours in today, so I'll work on and open PRs for the last two documentation posts tomorrow.
Nabarun Pal
@palnabarun
Hi, the Travis Build was failing since failing due to a change in behavior in how Altair processed the data passed to the Chart object. I filed an issue and a relevant PR for fixing that. Please have a look.
#33
kdorr
@kdorr
PRs are in for the last little bits of documentation that I was working on.