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

CRAN task view proposal: VisualizationDynamic #46

Open
dicook opened this issue Feb 22, 2023 · 11 comments
Open

CRAN task view proposal: VisualizationDynamic #46

dicook opened this issue Feb 22, 2023 · 11 comments

Comments

@dicook
Copy link

dicook commented Feb 22, 2023

The Graphics CTV was archived several years ago because it wasn't sufficiently maintained, and there were way too many packages listed. It needed to be broken into smaller subsets. This is a proposal for creating several new CTVs covering the vast range of graphics capabilities in R.

Scope

This CTV summaries the dynamic graphics packages available on CRAN. Dynamic graphics have historically been available in R, but new packages are emerging regularly, particularly as new technology emerges. It is important to have an active summary available for users.

Inclusion criteria

Package provides tools for drawing visual displays of data, that have some interactive (direct manipulation) or dynamic component. For example, the user can click on an element and have a label pop-up, or the plots are rapidly updated to produce a rotation or animation.

Exclusion criteria

he graphics are not primarily interactive or dynamic. It is not a low level graphics device upon which many drawing packages are rendering to screen or file.

Packages

See the draft web site at https://github.com/dicook/ctv-visualizationdynamic.

Overlap

There is a small amount of overlap with Spatial CTV, for interactive mapping. We are also proposing that new CTVs are written: VisualizationDynamic which will list packages with interactive and dynamic capabilites. ColorPalettes will list the large array of different colour palettes available with different drawing systems. GraphicsDevices will list the variety of devices to draw graphics on the screen or output to file.

Maintainers

Di Cook and Jayani Lakshika

@zeileis
Copy link
Contributor

zeileis commented Feb 23, 2023

As already mentioned in #45 thanks for the effort, very much appreciated. For this proposal the scope is much clearer, I think, with clear inclusion and exclusion criteria. And the overlap with the spatial task view is not huge and can probably be improved when this task view takes more concrete shape.

I mainly don't like the title. Wouldn't DynamicGraphics be a bit easier?

@dicook
Copy link
Author

dicook commented Feb 24, 2023

We debated names for the CTV. A reason to use Visualisation is that this is more commonly searched, and it is less likely to be confused with GraphicalModels. Having the different CTVs close to each other in name should make it easier for users to see them. (Same comment as in the #45).

@rociojoo
Copy link

Thank you @dicook As in #45 , I think that DynamicVisualizations would be a more informative name, and mentioning the StaticVisualizations TV here would make it easier for users to access it.

@zeileis
Copy link
Contributor

zeileis commented Oct 4, 2023

Di @dicook, Jayani @JayaniLakshika, and Sherry @huizezhang-sherry, thanks again for your proposal. Unfortunately, we did not have any follow-up except for the short discussion of the name. But I still think that this would be a nice contribution which mainly needs to be worked out. If you are still interested in doing so:

  • Please change the name to DynamicVisualizations.
  • Work out the text.
  • Include some comments regarding the scope of the task view in its introduction (especially that packages providing graphics devices are not included, etc.).
  • The section with the further resources at the end should be turned into the standard ### Links section, see the documentation.
  • Please drop the anchors you have added manually and instead use the ones that rmarkdown/pandoc will add automatically. For example, instead of ## [Small multiples]{#multiples} you can just use ## Small multiples (without additional markup) and refer to it using #small-multiples (lower case, hyphens instead of spaces) in the table of contents.

@dicook
Copy link
Author

dicook commented Oct 4, 2023 via email

@dicook
Copy link
Author

dicook commented Jan 4, 2024

Changes have been made and are now at https://github.com/dicook/ctv-dynamicvisualizations

@tuxette
Copy link
Contributor

tuxette commented Jan 7, 2024

Thanks @dicook for the nice proposal! I had a quick look at it and I add a few suggestions:

  • for me, the difference and purpose of the sections "General purpose", "Infrastructure", and "rgl additions" is not perfectly clear and, more specifically, in the last section "rgl additions", I am not sure about what differentiates the last suggestion predicts3D from a general tool for visualization of regression models (why is it in "RGL"?);

  • the following packages might be interesting to consider as well: iplots, ggvis, rCharts, rbokeh, heatmaply, collapsibleTree, dygraphs, magick;

  • the descriptions of packages are not always homogeneous: sometimes, you have the package name, then a pipe and a description and some other times, you have the package name, then "for" and a description. Also, description are either:

r package("ggiraph") | adopts ggplot syntax for interactive graphics.

(sentence starting with the package name)

r package("highcharter") | R binding to the general purpose highchart JavaScript library.

(not a sentence, just a description). I think that descriptions could be made a bit longer and more detailed than the current version (this might be the suggestion of @zeileis when he said "Work out the text."?);

  • finally, the syntax for packages in ctv is either r pkg("blabla") or r bioc("blabla") or the alternative forms listed in https://cran.r-project.org/web/packages/ctv/vignettes/ctv-howto.html . Please, use ctv::ctv2html(...) to check the final form of the TV and also ctv::check_ctv_packages(...) to check that all packages are properly listed.

@zeileis
Copy link
Contributor

zeileis commented Jan 7, 2024

Thanks Di @dicook for the update and Natalie @tuxette for the feedback. This already much improved and heading in the right direction. But the text is still too terse and too heterogeneous (as pointed out in more detail by Nathalie).

Also, I think it would be important to give a bit of an overview of the different infrastructures that are leveraged for making the graphics dynamic. Then it is easier to understand the structure of the table of contents and to understand some reoccurring terms (such as "OpenGL" or "D3" for example).

Please flag some packages as "core" packages as well.

@dicook
Copy link
Author

dicook commented Jan 7, 2024 via email

@zeileis
Copy link
Contributor

zeileis commented Jul 9, 2024

Di, thanks for briefly chatting about this at useR!

I just had a look at the history of your GitHub project (https://github.com/dicook/ctv-dynamicvisualizations/commits/main/DynamicVisualizations.md) and it seems that you made some progress on the issues we had raised above - great! From a quick first look, it seems that there are still open issues that need further work. Maybe you and Sherry can further improve the task view and the follow up here?

@dicook
Copy link
Author

dicook commented Jul 25, 2024

@zeileis I think that the CTV has all the changes requested now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants