plotly / plotly.js

Open-source JavaScript charting library behind Plotly and Dash
https://plotly.com/javascript/
MIT License
16.95k stars 1.86k forks source link

problem interacting with gl3d scene #3775

Closed ityoung2016 closed 3 months ago

ityoung2016 commented 5 years ago

I plot the surface of a two-dimensional signal processing filter using plotly.js. Using version 1.45.3 of plotly.min.js (or earlier versions), I can interactively rotate the plot using either the mouse on my iMac or my finger on my iPad.

Using any version later than that, starting with 1.46.1 up to an including 1.47.2, rotation is no longer possible. The plot appears but behaves as if it were static. I looked at the release notes for version 1.46.0 and saw an addition related to 'connectgaps'. Is this the culprit? Am I supposed to change my surface plot data or layout descriptions? Thank you for any help you can bring to this problem.

archmoj commented 5 years ago

@ityoung2016 Thanks for the report. However, I was not able to replicate the bug mentioned! The rotation seems to work on this codepen. Would you mind testing the codepen?

archmoj commented 5 years ago

@ityoung2016 is this still a problem for you? Thanks in advance for the info.

ityoung2016 commented 5 years ago

Yes, it is still a problem but I can live with it. My workaround is to use the older version of the plotly library that does not give the rotation problem. The sample you sent did not help diagnose the cause. Nevertheless, thank you for your help and interest.

nicolaskruchten commented 5 years ago

Are you able to provide a running example of a plot that shows this issue? We've tried it on a couple of macs here of different generations, with different mouse/trackpad hardware and not seen any problems.

ityoung2016 commented 5 years ago

I continue to have the same problem. Surface rotation works with plotly.min.js version 1.45.3 but does not work with version 1.46.0 and other, newer versions. The remainder of the software is not altered when switching between plotly versions.

I tried to put two copies of my software on a university website that you can reach but have not yet succeeded; my software is quite complex and requires many other packages as well.

I intend to make two links available for you but it won’t happen for the coming two weeks as I will be out of my office.

I greatly appreciate your help and will get back to you as soon as I can.

Yours truly,

Ted Young

•••••••••••••••••••••••••••

Ian T. (Ted) Young Professor of Applied Physics

TU Delft Faculty of Applied Sciences Building 22 Lorentzweg 1 Delft University of Technology 2628 CJ Delft, The Netherlands t: +31-(0)15-278-5390 e: i.t.young@tudelft.nl i: http://homepage.tudelft.nl/t5g29 i: www.imphys.tudelft.nl

iSSP app:

  <https://itunes.apple.com/nl/app/stochastic-signal-processing/id1450268179?l=en&mt=8>

https://itunes.apple.com/nl/app/stochastic-signal-processing/id1450268179?l=en&mt=8

ityoung2016 commented 4 years ago

It has taken much too long for me to put together an example of the problems I am (still) having. To repeat, using type="surface" I can produce a 3D representation of data. Using the plotly.js library v1.45.3 everything works as expected on my iMac, iPad, and iPhone. Starting, however, from v1.46.0, the 3D representation is rendered but can no longer be manipulated, e.g. rotated and zoomed. I have two versions on line that I have tested with Safari ( v13.1), Firefox (v75.0), and my standalone app "StochasticS" from the Apple App Store on my iPad (iOS 13.4.1). They all illustrate the problem.

Here is a link to the version that uses plotly.js v1.45.3: http://homepage.tudelft.nl/t5g29/Demos/Chapter_10/Lab_10.7v1453.html

Here is a link to the version that uses plotly.js v1.46.0: http://homepage.tudelft.nl/t5g29/Demos/Chapter_10/Lab_10.7v1460.html

The only difference between the two is the version of plotly.js that is used; everything else is identical.

On 2 May 2019 you asked for a running version that would illustrate the problem. I hope this provides enough information to help solve the problem. I would very much like to move on to the latest version of plotly, v1.54.0.

Thank you for any help you can offer.

archmoj commented 4 years ago

@ityoung2016 thanks for the examples. Very nice app!

archmoj commented 4 years ago

This may be a bug. But first we should have a closer look into your app.

ityoung2016 commented 4 years ago

What can I provide you with? Can you access, for example, SSPplotting.js and Lab_8-1.js? They are closest to the problem.

nicolaskruchten commented 4 years ago

Thanks for the example! I can reproduce it on my 2014 MacBook, although in general I can interact with 3d scenes on this machine.

ityoung2016 commented 4 years ago

I think I have solved the problem. The plotly surface plot is placed into a "div" with a css class that specifies a "width" and a "height". Both were specified as 100%. This did not cause any problems with plotly.js v1.45.3. It seems, however, that a change starting in plotly.js v1.46.0 does not permit "orbiting" unless ""width and "height" are set to "auto". (I have no idea why.) But making this rather trivial change means that the orbiting is now possible and I am using plotly.js v1.54.1. Do you understand the logic of it all? In any case, my problem is solved.

gvwilson commented 3 months ago

Hi - we are currently trying to tidy up Plotly's public repositories to help us focus our efforts on things that will help users most. Since this issue has been sitting for several years, I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our backlog. Thanks for your help - @gvwilson