R - google slider by gwidgets - r

I am looking for a way to implement sometimes like the slider in googleVis' annotated timeline: https://developers.google.com/chart/interactive/docs/gallery/annotatedtimeline
I can adjust timeframe by both starting and ending points and move the window as well.
gslider only for one slider per track. Would be better to have two or three sliders in one track.
Any suggestions?

The tkexamp function in the TeachingDemos package is one way to create a graph with properties (including data ranges) that can be adjusted using sliders or other GUI tools.

Related

R Highcharter - Navigator as input

I am using the Highcharter library in my R Shiny apps to build some dashboards and I was wondering if it would be possible to use the navigator (hc_navigator) as an input.
For example: by adjusting the time window of the chart in my graph, I'd like to calculate the avg or the sum of the displayed data point in the chart. Of course, I'd like this to be dynamic (i.e. any time that I adjust the time window with the navigator, I want the calculated value to update)
Example - This is my baseline chart: Baseline chart. I want to add a box which calculates the avg of the data points displayed in it. But, whenever I adjust the navigator (pls see here: nav-adjusted chart), I want the avg to change according to the data points which remain in the chart.
Does anybody have any idea on how to achieve something like this? Hope I was clear enough :)
Thanks,
Lorenzo

How to keep camera orientation fixed in an interactive 3D plot in R/Shiny

I have a 3D rgl plot that users can modify based on some inputs (you can see it in action at https://magalab.shinyapps.io/rgl_test/). But every time the user modifies the input settings, renderer returns to the initial orientation to redraw the model. I want to keep the orientation consistent between updates. I know how to do that in rgl, and there is already another similar question
(Shiny RGL Plot3D: Keep Plot View Orientation On Replot), which did not receive any answer.
There is potentially a relevant topic at shiny app rglwidget get userMatrix to generate another plot with same rotation, but I don't want to see the userMatrix, simply pass it to the open3d().
Unfortunately, I am not familiar with Javascript and Shiny to achieve this. Any pointers will be much appreciated.
In the very newest rgl (version 0.99.18, currently only on R-forge), there's a function called shinyGetPar3d that is designed to do what you want. See example(shinyGetPar3d) for a demonstration of how to use it.

Manually Drawing Curves on R like Paint

I was trying to allow the user to give a curve as input for some analysis. Is there a package that can be used in this regard? Basically, a GUI like paint wherein the user can draw a simple curve and which would be stored in R as a set of data points or as an equation if its a simple curve.
Thanks
Gopher
Reading mouse input
Below is a list of sample approaches to first the problem, from the most complex to simplest (IMHO).
I would recommend that you have a look at the
qtpaint
package.
Less laborious solution may involve looking at the way interactive
plots in Shiny are handled. Using the click option would
enable you to get the mouse cursor position. Together with the Shiny
framework this would provide a convenient wrapper to get mouse input
from a user.
Finally, third approach could rely on making use of the locator function available in the graphics package. Depending on what you intend to do, this may be the simplest solution as you could then use read values to inform generation of your graphic.
Generating graphics
Assuming that you got your values via the locator functionality you could attempt to draw your line using segments. It would be a little fiddly as you would have to translate your coordinates to some placement of the dot in your desired chart but this wouldn't computationally too taxing, just a matter of bring mouse pointer values to some x/y values on the chart.
If you care to update your post with a sample code and reproducible attempts of your previous work, I bet the question will receive more replies. You may find this discussion on making a reproducible example in R helpful.

visualization - size of circle proportionate to the value of the item

I'm getting familiar with Graphviz and wonder if it's doable to generate a diagram/graph like the one below (not sure what you call it). If not, does anyone know what's a good open source framework that does it? (pref, C++, Java or Python).
According to Many Eyes‌​, this is a bubble chart. They say:
It is especially useful for data sets with dozens to hundreds of values, or with values that differ by several orders of magnitude.
...
To see the exact value of a circle on the chart, move your mouse over it. If you are charting more than one dimension, use the menu to choose which dimension to show. If your data set has multiple numeric columns, you can choose which column to base the circle sizes on by using the menu at the bottom of the chart.
Thus, any presentation with a lot of bubbles in it (especially with many small bubbles) would have to be dynamic to respond to the mouse.
My usual practice with bubble charts is to show three or four variables (x, y and another variable through the size of the bubble, and perhaps another variable with the color or shading of the bubble). With animation, you can show development over time too - see GapMinder. FlowingData provides a good example with a tutorial on how to make static bubble charts in R.
In the example shown in the question, though, the bubbles appear to be located somewhat to have similar companies close together. Even then, the exact design criteria are unclear to me. For example, I'd have expected Volkswagen to be closer to General Motors than Pfizer is (if some measure of company similarity is used to place the bubbles), but that isn't so in this diagram.
You could use Graphviz to produce a static version of a bubble chart, but there would be quite a lot of work involved to do so. You would have to preprocess the data to calculate a similarity matrix, obtain edge weights from that matrix, assign colours and sizes to each bubble and then have the preprocessing script write the Graphviz file with all edges hidden and run the Graphviz file through neato to draw it.

In R / gwidgets, how to create a new Widget from Scratch - links between boxes / nodes?

I want to have an interface that allows to draw links between boxes and save the results (box1 is connected to box2, 3 to 4 and so on) as shown in the picture below:
I do not really know where to start or even if something like this already exists or if it is possible - so I am grateful for any comment on the subject?
The HTkIdentify function in the TeachingDemos package allows you to interactively drag labels to new locations (and part of the return is the coordinates of the new locations) with a line between the point and the label. Visually I think this is similar to what you are asking for. It uses the tcltk package rather than gwidgets. You could modify the code to draw your boxes as above (rather than a data based scatterplot), then based on the final locations of the "labels" you would determine which box was connected to.

Resources