Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] add toggle to diable "expand image" feature and restore the pervious behaviors #3307

Closed
stevenlis opened this issue Jun 26, 2019 · 19 comments
Assignees

Comments

@stevenlis
Copy link

Environment data

Version: 1.35.1 (user setup)
Commit: c7d83e57cd18f18026a8162d042843bda1bcf21f
Date: 2019-06-12T14:30:02.622Z
Electron: 3.1.8
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763
Python Extension: 2019.6.22090

Issue:

The new release includes a new feature to interact with the plots:
image

This implement has caused the following issues:

  1. users can no longer drag the plots to wherever they want. In fact, it seems like many users save their plots this way:
    https://github.com/microsoft/vscode-python/issues/5201
    https://github.com/microsoft/vscode-python/issues/4132

  2. When saving a plot as a .png file in the new Plots windows, the image got cut off for some reasons.

import matplotlib.pyplot as plt
import numpy as np
import geopandas as gpd

# load dataset
path = gpd.datasets.get_path('naturalearth_lowres')
gdf = gpd.read_file(path)
# generate a random column
gdf['random_col'] = np.random.normal(100, 10, len(gdf))

# plot quantiles map
fig, ax = plt.subplots(figsize=(10, 10))
gdf.plot(column='random_col', scheme='quantiles', k=5, cmap='Blues',
         legend=True, legend_kwds=dict(loc=6), ax=ax)

image

  1. the DPI of the plots in the Plots windows seem very high, but the png image file saved via "export to different formats" has a much lower DPI.

This new "expand image" feature completely change the behavior of the vs code. I understand this feature might be convenient for some users, but I'd like to use code to explicitly set the dpi and save plots.

Please consider adding a toggle for it or at least disable the double-click and restore the "drag to desktop" behavior.

@stevenlis
Copy link
Author

Btw, please please tell me there is a way to disable this "expand image" function.

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

Not sure what you mean by 'expand image'. Did you mean the little icon that appears on top of the plot?

Do you have a repro for generating the image? It works with the plots I've created.

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

Oh 'expand image' means the button. Didn't realize that's what the tooltip said.

Why do you want to disable the 'expand image' button? Is it getting in the way somehow?

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

This might be mac only issue. Could be our dpi conversion isn't working correctly.

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

The 'expand image' button should only appear when you mouse over the plot.

@stevenlis stevenlis changed the title PNG image got cut off while saving via Plots window [Feature Request] add toggle to diable "expand image" feature and restore the pervious behaviors Jun 26, 2019
@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

@rchiodo The thing is this "expand image" completely change the behavior of the plot. Right now if I double click, it will jump to a new window and also I could no longer drag any plots to my desktop directly.

I really really like the way it was... This overcomplicated my workflow a little bit.

Is there any way to disable all of those new features? I checked the settings and didn't find it.

Sorry, there is no easy way to disable this feature. We reworked how Jupyter returns images. Didn't even realize you could drag the images to your desktop. That's pretty cool.

There is a way to disable it in your code/interactive window though.

Run this line of code after your start the interactive window:

%config InlineBackend.figure_format = 'png'

We'll look into adding an official setting.

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

Sorry that last comment was too quick. Should have said format = 'png'

@stevenlis
Copy link
Author

@rchiodo Thx a lot. The code works.

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

The png image saving works for me on Windows. Need to test on mac/linux to see if it's a dpi issue or not.

@stevenlis
Copy link
Author

I just tried with another plot. It has the same issue:
image

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

And you're running on mac, right?

@stevenlis
Copy link
Author

No... I'm on windows 10. I think the environment data shows that right?

@rchiodo
Copy link
Contributor

rchiodo commented Jun 26, 2019

Note to self:
This might work out better than trying to convert the size of the svg ourselves:
https://spin.atomicobject.com/2014/01/21/convert-svg-to-png/

@rchiodo rchiodo self-assigned this Jun 27, 2019
@rchiodo
Copy link
Contributor

rchiodo commented Jun 28, 2019

@StevenLi-DS I just submitted a fix for this. Our insider's build will have the fix in about an hour.

There's a new setting: 'enablePlotViewer' that turns on/off the expand image button. With it off you should be able to drag pngs out of the interactive window again.

I also fixed the png scaling when exporting to png if you continue to use the plot viewer.

@stevenlis
Copy link
Author

If this feature will indeed be the default setting in the future, it might be better to set the plot algin to the left than the center in case of the following:

image

@stevenlis
Copy link
Author

I just saw a new release. Have this 'enablePlotViewer' implemented?

@rchiodo
Copy link
Contributor

rchiodo commented Jul 10, 2019

No that was a release for some specific bug fixes. It doesn't have the enablePlotViewer bits in it. That's only in the insider's build.

You can see what was fixed in the changelog for the release branch:
https://github.com/microsoft/vscode-python/blob/release/CHANGELOG.md

Looks like a fix for a/b testing.

@stevenlis
Copy link
Author

There's a new setting: 'enablePlotViewer' that turns on/off the expand image button. With it off you should be able to drag pngs out of the interactive window again.

@rchiodo Hi, man. Do you have an approximation time for this feature implementation? Meanwhile, could you guys consider reopen this issue microsoft/vscode-python#6473?

@rchiodo
Copy link
Contributor

rchiodo commented Jul 23, 2019

This has already been implemented in the insider's build. We generally add the 'sign-off' label when something moves to insider's but hasn't shipped in the general release yet.

Issues with the 'data-science parking lot' or 'parking-lot' are in limbo.
Issues with the 'backlog' label are stuff we're working on for the next release.

We close issues when the ship in the general release.

I also reopened the other issue.

@rchiodo rchiodo closed this as completed Aug 6, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Aug 14, 2019
@microsoft microsoft unlocked this conversation Nov 14, 2020
@DonJayamanne DonJayamanne transferred this issue from microsoft/vscode-python Nov 14, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants