Retina+jpeg option?
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- jupyter, jupyter-notebook
- Domain
- data-visualization
Research direction
The issue names no source file or test. Start by tracing how the inline backend handles the figure_format setting and retina sizing, then compare the JPEG behavior with the linked Matplotlib issue and Stack Overflow question; done should mean a clearly defined, tested way to produce appropriately sized JPEG notebook images.
Written by the indexing model from the issue text.
Description
I often work with complex matplotlib figures with millions of points, which I've been displaying in my notebooks using the ipython magic %config InlineBackend.figure_format = 'retina'. Unfortunately, these inline images are quite large in terms of file size.
I'm looking for general suggestions on how to reduce the size of my ipynb files, which can grow into the 10s or even hundreds of MB in size and become a bit unwieldy.
One thought I had was to switch to generating jpegs, but while it looks like I can meaningfully reduce the file size by switching the backend to jpeg and increasing the dpi to 2x:
from matplotlib import rcParams
%config InlineBackend.figure_format = 'jpeg'
rcParams['figure.dpi'] = 200
From this repo, it looks like I can dial in jpeg compression values, which should help reduce file size. However, I can't figure out how to size the jpegs appropriately for a retina display (they're twice as large as they should be, and slightly blurry). Is there a way to display jpegs in jupyter notebooks at similar resolution and size to the defaults provided by 'retina' mode?
See also:
Matplotlib issue
Stackoverflow question
- Dominant language
- Jupyter Notebook
- Stars
- 31
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from ipython/matplotlib-inline
-
Support animations Open
Difficulty 3/5 1-2 days Newbie friendliness 48/100
ipython/matplotlib-inline#61 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ipython/matplotlib-inline#59 ·
-
Publish changelog Open
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ipython/matplotlib-inline#57 · 1 reaction ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
ipython/matplotlib-inline#54 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 48/100
ipython/matplotlib-inline#44 · 1 comment ·
All issues in ipython/matplotlib-inline
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
scope: charts status: waiting for maintainer
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
chore P3 plotly-internal size: 3 task
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Live-Charts/LiveCharts2#2394 ·
-
Urgent request: Due to vulnerabilities move to API version 12.6.1 (12.6.2 eventually) or 13.1.1 Open
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
jbkunst/highcharter#849 ·