has2k1 / has2k1/plotnine

Secondary and Multiple x and y axis

Open
#68 12 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Layout Next Minor Release
Dominant language
Python
Stars
4.8k
Forks
254
Avg merge
10h 35m
Merged PRs (30d)
9

Description

Hello,

searched repository and documentation for secondary x & y axis, @has2k1 you mentioned in #63 , "When Matplotlib ships the constraint layout manager, I'll look into adding secondary axes functionality."

Do you have any idea what the approx timeframe for this is, months or quarters away?

For the finance guys having not only secondary but multiple x & y axes is extremely handy, which is something that users of bloomberg and reuters eikon are familiar with, and has been a major problem for excel users as they still haven't managed to even introduce a tertiary, or let alone even more levels in axes options, people have to index data if they need to compare more than 2 different time series still even in excel 2016 as we all know, which is a time consuming pain.

2017-10-19_14-15-32

e.g.

(ggplot(df, aes(x1="", x2="", x3="", ...  , y1="" y2="", y3="", ... ))
+ scale_x1_datetime(breaks=date_breaks('1 year'), 
+ scale_x2_datetime(breaks=date_breaks('1 quarter'),
+ scale_x3_datetime(breaks=date_breaks('1 month'), 
+ geom_line(aes(y1='US'), color='#00355F', size=1)
+ geom_line(aes(y2='Turkey'), color='#2494EA', size=1)
+ geom_line(aes(y3='Australia'), color='#0222FF', size=1)
+ labs(x1="", x2="", x3="", y1="" y2="", y3="")

matplot example code: multiple_yaxis_with_spines.py
https://matplotlib.org/gallery/ticks_and_spines/multiple_yaxis_with_spines.html

Kind Regards,

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing issue #63 and the referenced constraint layout manager discussion. Compare the requested secondary and multiple-axis behavior with the linked Matplotlib example, multiple_yaxis_with_spines.py. Done would require an agreed design and implementation scope for multiple x and y axes in plotnine.

Written by the indexing model from the issue text.

Assessment

Tech stack
matplotlib, python
Domain
data-visualization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.