I am currently working on a graphical display tool for EEG data. My group wants to be able to zoom the plot to see certain channels. However, there is a separate widget beside the waveform plot which displays the labels for the channels.
I want to make it so that when the waveform plot is zoomed (say using ViewBox's RectMode zoom), the channel labels will also zoom. I have included a picture of our display for reference.
Related
I'm using matplotlib to show a plot with %matplotlib widget in jupyter lab. Almost every time I show the plot, next thing I have to do is zoom in and examine one of the sections of the plot. I would like to be able to show the plot zoomed into that section, and if I want to examine the rest of the plot, as I sometimes do, I would press back button and see all of it.
This is similar to showing subplot with relevant data or using plt.xlim, except I would like to do it in a single plot so the data I'm looking at can occupy more screen space, and plt.xlim just shows relevant stretch of data without possibility to zoom out again.
How do I do this is jupyter lab?
I am using the OSM tile provider in bokeh to plot a basemap, here is a reference. I am wondering if there is a way to show the scale of the map in meters or kilometers depending on the zoom level.
Just to clarify, the axis labels can remain in WGS84-pseudo-mercator but I want to have a scale or some sort of ruler to give a better sense of the distances in the plot.
Below is an example image from the OSM website where I have marked the scale in the bottom left corner.
Edit: I have found out that there is currently no such feature build into bokeh, here. I have opened a feature request on github, here.
I am also interested in any work-around, e.g. using annotations.
I need to use an API that only allows sending a RGB Geotiff image to be visualized over a map to an specif location. However, it is really important that this image has a legend bar included showing what value is related to an specific color, as shown here https://user-images.githubusercontent.com/11286381/36511755-b58e6cc8-171c-11e8-9385-e90c3795be14.png.
I did not find any way to overlay or include a legend without lose its georeferencing information.
I want to plot boxplots on top of the scattered points like this.
I know I have to bin the data into intervals first but I couldn't find the function that does all of this. Sample x and y data are saved here as .npy.
I would look into using matplotlib. Boxes can be drawn as such:
https://matplotlib.org/gallery/pyplots/boxplot_demo_pyplot.html?highlight=boxplot
and scatter plots can also be drawn as such: https://matplotlib.org/gallery/lines_bars_and_markers/scatter_demo2.html?highlight=scatter
There is a search functionality on their site, along with plenty of documentation on how to utilize their library.
As for your specific question, you can specify zorder when drawing many of the things in matplotlib, and you could use that to define your boxplots to be on top. I believe if no zorder is defined that it draws items in the order they are encountered in your program (so you could draw scatter plots and then box plots and they should appear correctly as in your diagram above!
I want to be able to nicely align the description and the plot of following configuration:
I want to achieve that every plot has the same size, i.e. they end all on the same imaginary vertical line. The channel names should be aligned. Currently, I'm using a QGridLayout. The plots were created using Qwt.