Coder Social home page Coder Social logo

ajrgodfrey / brailler Goto Github PK

View Code? Open in Web Editor NEW
123.0 123.0 21.0 40.55 MB

An add-on package for R primarily aimed at improving access to R for blind users. The package contains tools and functions that will help get a student through their first year statistics course, and probably well beyond it.

Home Page: http://ajrgodfrey.github.io/BrailleR/

R 30.31% HTML 61.56% CSS 0.48% Python 6.49% TeX 1.16%

brailler's People

Contributors

1jamesthompson1 avatar ajrgodfrey avatar boringnectarine0 avatar dewarren avatar fkohrt avatar hecerinc avatar henrikbengtsson avatar marshallflax avatar pmur002 avatar yihui avatar zorkow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brailler's Issues

ggplot VI cant handle varied coordinate systems

Currently, the VI method will only work if the plots coordinate first calls is either "CoordCartesian" or "CoordFixed".

This means that a plot like:

ggplot(mtcars, aes(mpg,disp)) +
  geom_point() + coord_flip()

Will print out a message like this:

VI cannot process ggplot objects with flipped or non-Cartesian coordinates

I think that the VI method is actually capable of processing different types of Coord systems like flipped with ease.

It seems that

  if (!(.getGGCoord(x, xbuild) %in% c("CoordCartesian", "CoordFixed"))) {
    message("VI cannot process ggplot objects with flipped or non-Cartesian coordinates")
    return(NULL)
  }

At the start of .VIstruct.ggplot() and .getGGCoord() need to be updated.

Problem with undo function (ctrl Z)

If you insert anything using the shortcut keys, the ctrl Z function removes only one thing and not everything the shortcut key created (leaves rubbish around). Should be no undo function but windows is giving an undo function.

Suppress the folder path setup

Thank you for this excellent package.

I am a building a workflow to improve the accessibility of my plots, and I would like to use the VI function in BrailleR to automatically generate some boilerplate text that I can then edit to be more specific.

Since I plan on sharing this workflow with my colleagues and also put it up on GitHub, I was wondering if there is a way to suppress the path selection setup functions? Essentially, my package would only invoke the VI function on a plot, so it would be redundant to create a permanent folder, and I would like to avoid unnecessary steps for my users.

Let me know if this is possible, and if not, I'm happy to suggest a solution and/or submit a PR.

Thanks again!

Add SVG and XML support for multiple layers

The system is set up at the moment to just assume all layers are the same and act accordingly.

Having a way that each layer can be toggled on and off or "stepped" through would be good in the exploration of the graph.

To be able to do this we will probably need to access more information potentially the build object meaning that we might need to be passed the origin graph object as opposed to looking at the displayed graphic.

Change ggplot shape descriptions

Currently, the ggplot VI shapes for geom_point description are descriptive but not in the line with what seems to be the conventional names for the pch.

What we currently have is:
1 open square
2 open circle
3 open triangle
4 plus
5 X
6 open diamond
7 downward triangle
8 boxed X
9 star
10 crossed diamond
11 circled plus
12 six-pointed star
13 boxed plus
14 crossed circle
15 boxed triangle
16 solid square
17 solid circle
18 solid triangle
19 solid diamond
20 big solid circle
21 small solid circle
22 fillable circle
23 fillable square
24 fillable diamond
25 fillable triangle
26 fillable downward triangle

I propose using the convention which is:
pch = 0,square
pch = 1,circle
pch = 2,triangle point up
pch = 3,plus
pch = 4,cross
pch = 5,diamond
pch = 6,triangle point down
pch = 7,square cross
pch = 8,star
pch = 9,diamond plus
pch = 10,circle plus
pch = 11,triangles up and down
pch = 12,square plus
pch = 13,circle cross
pch = 14,square and triangle down
pch = 15, filled square
pch = 16, filled circle
pch = 17, filled triangle point-up
pch = 18, filled diamond
pch = 19, solid circle
pch = 20,bullet (smaller circle)
pch = 21, filled circle blue
pch = 22, filled square blue
pch = 23, filled diamond blue
pch = 24, filled triangle point-up blue
pch = 25, filled triangle point down blue

This means that comparing made graphs with other literature might be more intuitive and simple.

It would also mean that the default shape which is 19 would simple be a solid circle rather than big solid circle which might give the impression that it is larger than other shapes.

ROBUSTNESS: Use file.path() instead of paste()

I'd like to suggest to use file.path("a", "b") instead of paste0("a/", "b") for constructing path names. This is the recommended approach, especially since it makes no assumptions about whether forward or backward slashes should be used.

You can also vectorize, which I see you need in a few places, e.g. file.path("a", c("b1", "b2")).

graph title not included in xml

In the example below, when I view the source of the html output file, the speech and speech 2 annotations in xml for the title have an empty value such as "Title: " instead of "Title: Super Bowl National Anthem Length". The value of the plot title is getting lost somewhere. Could you please look into this? Thanks!

library(ggplot2)
library(BrailleR)
library(gridSVG)

superbowl <- data.frame(
year = seq(from = 1980, to = 2024, by = 1),
song_length <- c(78, 82, 98, 93, 94, 81, 82, 64, 94, 86, 85, 116, 126, 105, 153, 100, 95, 113, 87, 115, 120, 109, 116, 153, 129, 113, 129, 90, 114, 130, 107, 113, 94, 156, 123, 124, 142, 124, 112, 121, 109, 136, 115, 121, 95)
)

basicPlot <- ggplot(superbowl, aes(year, song_length)) +
geom_point() + geom_line() +
ggtitle("Super Bowl National Anthem Length") +
xlab("Year") + ylab("Song length (seconds)")

MakeAccessibleSVG.ggplot(basicPlot)

pdf2html fails

Running the most recent BrailleR from remotes::install_github("ajrgodfrey/BrailleR", upgrade=TRUE, quiet=TRUE) and the most recent stable Python 3.10.5, pdf2html fails due to incompatibility with unicode

NameError: name 'unicode' is not defined thrown off by File "C:\Program Files\R\R-4.1.0\library\BrailleR\Python\latin2html.py", line 127

GeomPoint points not highlighted correctly in MakeAccessibleSVG

This is because the way that the highlighting is done with diagcess is that it takes the SVG tag and gives it a class.

This class gives it that yellow stroke color.

However, the tags used for the geomPoints are use tags that have a custom definition without any stroke as it will most likely be a circle.

There might be some workarounds but for now, it hasn't yet been solved.

duplicate words in the first line of the VI-output

There are duplicate words in the first line of the VI-output. "with the title:" is output twice.

library(BrailleR)
x <- rnorm(1000)
my_plot <- hist(x, plot = TRUE, main = "my histogram")
BrailleR::VI(my_plot)

Move the whiskers templates from html to md

In recent dev work, I have made both BrowseSVG() and ViewSVG() use whiskers templates.

In doing so I moved ViewSVG away from .md in favor of templates being in straight HTML.

Looking at some of the other issues #80 it may be beneficial or not to use .md for the web pages so that they can look better without as much work. On the other hand, it might be more difficult if the changes suggested here #80 go through.

XML package casuing windows build to crash

It seems that something has happend aroundt h 5/12/2022 that has caused the build to start failing.

The error given by GitHub is:

── R CMD build ─────────────────────────────────────────────────────────────────
pdflatex not found! Not building PDF manual.

  • checking for file 'D:\a\BrailleR\BrailleR/DESCRIPTION' ... OK
  • preparing 'BrailleR':
  • checking DESCRIPTION meta-information ... OK
  • installing the package to build vignettes
    -----------------------------------
    ERROR: dependency 'XML' is not available for package 'BrailleR'
  • removing 'C:/Users/RUNNER~1/AppData/Local/Temp/Rtmp8aeTKo/Rinst17245f8c7200/BrailleR'
    -----------------------------------
    ERROR: package installation failed
    Error: Error in proc$get_built_file() : Build process failed
    Calls: ... build_package -> with_envvar -> force ->
    Execution halted
    Error: Process completed with exit code 1.

The first point of call will be to try and reduce the imports and see if it still fails.

TimeSeriesPlot does not work with ggplot

The TimeSeriesPlot is defaulted to use ggplot.

However, the code to actually make it with ggplot is missing.

The ggplot functionality was added here: 273c414

This can easily be fixed by passing the parameters to ggplot just like with ScatterPlot and such.

Liblouis Text Translation

Hey there! Never thought I'd come across something so related to what I'm doing.

I'm attempting to create a generic R graph, with all text replaced with Unicode Braille characters + the UBraille (public domain) font to allow printing of "most" R outputs with braille text. The print would ultimately be printed on PIAF/Microcapsule paper.

I did a similar thing with a project a few months ago, here: https://git.tait.tech/tait/transcription-tools/src/branch/main/ocr/braille-diagram-tools

Just wondering if there is an easy way, or if your library would be interested in implementing a way to replace all text in an R plot/graph with modified text. Some kind of map_all_text((text) => new_text) function would work perfectly. Figuring out liblouis bindings through some other language would probably be best for a smaller project (like mine).

Anyway, I'm just wondering if this is something you have considered, if this is out of scope for the project, or if perhaps there is already a way to simply do that which I'm unaware of.

Thanks for you time! Keep up the great work!

non-zero exit status

Hello Everyone,

When installing the BrailleR package I get the following errors. Can you please advise?
I'm using a Mac with OSX10.11.6
RStudio 1.0.153 (but I also get the error when only using R.
R version 3.4.1

Thanks in advance.

  • installing source package ‘gridGraphics’ ...
    ** package ‘gridGraphics’ successfully unpacked and MD5 sums checked
    ** R
    ** inst
    ** preparing package for lazy loading
    Error in system("convert --version", intern = TRUE, ignore.stderr = TRUE) :
    error in running command
    Error : unable to load R code in package ‘gridGraphics’
    ERROR: lazy loading failed for package ‘gridGraphics’
  • removing ‘/Users/michael/Library/R/3.4/library/gridGraphics’
    Warning in install.packages :
    installation of package ‘gridGraphics’ had non-zero exit status
    ERROR: dependency ‘gridGraphics’ is not available for package ‘BrailleR’
  • removing ‘/Users/michael/Library/R/3.4/library/BrailleR’
    Warning in install.packages :
    installation of package ‘BrailleR’ had non-zero exit status

The downloaded source packages are in
‘/private/var/folders/hz/9hbt2vmd2991c77c6b7sw11m0000gp/T/Rtmpkqa72t/downloaded_packages’

There is no assigned keystroke for inserting in-line R chunk in WriteR

Hello,

I have found that there is no keystroke assigned for inserting in-line R chunk in WriteR editor.

Of course, you can perform by pressing Alt+S, followed by enter key; however, given that you have assigned a keystroke for inserting a block R chunk in WriteR which is Alt+R, followed by I, having a keystroke for in-line R chunk would be so much instrumental for blind R users.

Thank you very much.

Splitting Describe and VI help pages and merging VI help pages

Currently, the help page for Describe and VI feels quite cluttered and the functions serve different purposes.

I think that splitting the help page to Describe and VI would make it clearer and more helpful for users.

Then both pages can actually provide more detailed and better-structured information.

Now there would be two VI help pages and I think that they should be merged to make it consistent with one help page per function

Summarise and fleshout SVGs and XMLs of "bar" and "line" type ggplots geoms

Currently, the information is there.

You can step through and find out what bars or lines there are. However, the information isn't filtered or summarised in any way. Meaning that it could be quite hard for a user to actually explore the graph.

Within the lines type, there could be a better job of connecting lines together to make longer lines and thus fewer lines need to be displayed and read.

The bar types are alright but there is no cap on the number of bars that can be displayed.

Weird syntax for when coloured fill is used to show groupings

"X is represented by fill brilliant blue" would make more sense as "X is represented by brilliant blue fill."
When colour is used the wording "X is represented by colour brilliant blue" which, while not wrong, would also work as "is represented by brilliant blue colour" I will also look into changing the word "represented" to a shorter synonym to save characters.

`VI()` function does not extract correct graphic title

When generating text description for R graphics via BrailleR::VI() function, user-defined title is not extracted. It would be better for us to fix this.

Reproducible Example

# Loading package:
library(BrailleR)
#> The BrailleR.View,  option is set to FALSE.
#> 
#> Attaching package: 'BrailleR'
#> The following objects are masked from 'package:graphics':
#> 
#>     boxplot, hist
#> The following object is masked from 'package:utils':
#> 
#>     history
#> The following objects are masked from 'package:base':
#> 
#>     grep, gsub

# Making histogram object with customized title:
x <- hist(airquality$Ozone, main = "test")

# Generating text description:
VI(x)
#> This is a histogram, with the title: Histogram of airquality$Ozone
#> "airquality$Ozone" is marked on the x-axis.
#> Tick marks for the x-axis are at: 0, 50, 100, and 150 
#> There are a total of 116 elements for this variable.
#> Tick marks for the y-axis are at: 0, 10, 20, and 30 
#> It has 9 bins with equal widths, starting at 0 and ending at 180 .
#> The mids and counts for the bins are:
#> mid = 10  count = 37 
#> mid = 30  count = 34 
#> mid = 50  count = 14 
#> mid = 70  count = 15 
#> mid = 90  count = 9 
#> mid = 110  count = 4 
#> mid = 130  count = 2 
#> mid = 150  count = 0 
#> mid = 170  count = 1

Created on 2020-08-28 by the reprex package (v0.3.0.9001)

Session info
sessioninfo::session_info()
#> - Session info ---------------------------------------------------------------
#>  setting  value                       
#>  version  R version 4.0.2 (2020-06-22)
#>  os       Windows 10 x64              
#>  system   x86_64, mingw32             
#>  ui       RTerm                       
#>  language (EN)                        
#>  collate  English_United States.1252  
#>  ctype    English_United States.1252  
#>  tz       America/New_York            
#>  date     2020-08-28                  
#> 
#> - Packages -------------------------------------------------------------------
#>  package      * version    date       lib source                              
#>  assertthat     0.2.1      2019-03-21 [1] CRAN (R 4.0.2)                      
#>  backports      1.1.7      2020-05-13 [1] CRAN (R 4.0.0)                      
#>  BrailleR     * 0.31.0     2020-06-26 [1] Github (ajrgodfrey/BrailleR@59d0949)
#>  callr          3.4.3      2020-03-28 [1] CRAN (R 4.0.2)                      
#>  cli            2.0.2      2020-02-28 [1] CRAN (R 4.0.2)                      
#>  colorspace     1.4-1      2019-03-18 [1] CRAN (R 4.0.2)                      
#>  crayon         1.3.4      2017-09-16 [1] CRAN (R 4.0.2)                      
#>  curl           4.3        2019-12-02 [1] CRAN (R 4.0.2)                      
#>  desc           1.2.0      2018-05-01 [1] CRAN (R 4.0.2)                      
#>  devtools       2.3.1      2020-07-21 [1] CRAN (R 4.0.2)                      
#>  digest         0.6.25     2020-02-23 [1] CRAN (R 4.0.2)                      
#>  dplyr          1.0.2      2020-08-18 [1] CRAN (R 4.0.2)                      
#>  ellipsis       0.3.1      2020-05-15 [1] CRAN (R 4.0.2)                      
#>  evaluate       0.14       2019-05-28 [1] CRAN (R 4.0.2)                      
#>  extrafont      0.17       2014-12-08 [1] CRAN (R 4.0.0)                      
#>  extrafontdb    1.0        2012-06-11 [1] CRAN (R 4.0.0)                      
#>  fansi          0.4.1      2020-01-08 [1] CRAN (R 4.0.2)                      
#>  fs             1.5.0      2020-07-31 [1] CRAN (R 4.0.2)                      
#>  generics       0.0.2      2018-11-29 [1] CRAN (R 4.0.2)                      
#>  ggplot2        3.3.2      2020-06-19 [1] CRAN (R 4.0.2)                      
#>  glue           1.4.1      2020-05-13 [1] CRAN (R 4.0.2)                      
#>  gridGraphics   0.5-0      2020-02-25 [1] CRAN (R 4.0.2)                      
#>  gridSVG        1.7-2      2020-04-28 [1] CRAN (R 4.0.2)                      
#>  gtable         0.3.0      2019-03-25 [1] CRAN (R 4.0.2)                      
#>  highr          0.8        2019-03-20 [1] CRAN (R 4.0.2)                      
#>  htmltools      0.5.0.9000 2020-08-21 [1] Github (rstudio/htmltools@e35c3fa)  
#>  httr           1.4.2      2020-07-20 [1] CRAN (R 4.0.2)                      
#>  hunspell       3.0        2018-12-15 [1] CRAN (R 4.0.2)                      
#>  jsonlite       1.7.0      2020-06-25 [1] CRAN (R 4.0.2)                      
#>  knitr          1.29.4     2020-08-27 [1] Github (yihui/knitr@1465255)        
#>  lattice        0.20-41    2020-04-02 [1] CRAN (R 4.0.2)                      
#>  lifecycle      0.2.0      2020-03-06 [1] CRAN (R 4.0.2)                      
#>  magrittr       1.5        2014-11-22 [1] CRAN (R 4.0.2)                      
#>  Matrix         1.2-18     2019-11-27 [1] CRAN (R 4.0.2)                      
#>  memoise        1.1.0      2017-04-21 [1] CRAN (R 4.0.2)                      
#>  mime           0.9        2020-02-04 [1] CRAN (R 4.0.0)                      
#>  moments        0.14       2015-01-05 [1] CRAN (R 4.0.0)                      
#>  munsell        0.5.0      2018-06-12 [1] CRAN (R 4.0.2)                      
#>  nortest        1.0-4      2015-07-30 [1] CRAN (R 4.0.0)                      
#>  pillar         1.4.6      2020-07-10 [1] CRAN (R 4.0.2)                      
#>  pkgbuild       1.1.0      2020-07-13 [1] CRAN (R 4.0.2)                      
#>  pkgconfig      2.0.3      2019-09-22 [1] CRAN (R 4.0.2)                      
#>  pkgload        1.1.0      2020-05-29 [1] CRAN (R 4.0.2)                      
#>  prettyunits    1.1.1      2020-01-24 [1] CRAN (R 4.0.2)                      
#>  processx       3.4.3      2020-07-05 [1] CRAN (R 4.0.2)                      
#>  ps             1.3.4      2020-08-11 [1] CRAN (R 4.0.2)                      
#>  purrr          0.3.4      2020-04-17 [1] CRAN (R 4.0.2)                      
#>  R6             2.4.1      2019-11-12 [1] CRAN (R 4.0.2)                      
#>  Rcpp           1.0.5      2020-07-06 [1] CRAN (R 4.0.2)                      
#>  remotes        2.2.0      2020-07-21 [1] CRAN (R 4.0.2)                      
#>  reprex         0.3.0.9001 2020-08-22 [1] Github (tidyverse/reprex@d3fc4b8)   
#>  reticulate     1.16-9000  2020-07-31 [1] Github (rstudio/reticulate@e811aec) 
#>  rlang          0.4.7      2020-07-09 [1] CRAN (R 4.0.2)                      
#>  rmarkdown      2.3.3      2020-07-28 [1] Github (rstudio/rmarkdown@204aa41)  
#>  roloc          0.1-1      2018-07-30 [1] CRAN (R 4.0.2)                      
#>  rolocISCCNBS   0.1        2018-08-02 [1] CRAN (R 4.0.2)                      
#>  rprojroot      1.3-2      2018-01-03 [1] CRAN (R 4.0.2)                      
#>  Rttf2pt1       1.3.8      2020-01-10 [1] CRAN (R 4.0.0)                      
#>  scales         1.1.1      2020-05-11 [1] CRAN (R 4.0.2)                      
#>  sessioninfo    1.1.1      2018-11-05 [1] CRAN (R 4.0.2)                      
#>  stringi        1.4.6      2020-02-17 [1] CRAN (R 4.0.0)                      
#>  stringr        1.4.0      2019-02-10 [1] CRAN (R 4.0.2)                      
#>  styler         1.3.2      2020-02-23 [1] CRAN (R 4.0.2)                      
#>  testthat       2.3.2      2020-03-02 [1] CRAN (R 4.0.2)                      
#>  tibble         3.0.3      2020-07-10 [1] CRAN (R 4.0.2)                      
#>  tidyselect     1.1.0      2020-05-11 [1] CRAN (R 4.0.2)                      
#>  usethis        1.6.1.9001 2020-08-03 [1] Github (r-lib/usethis@00e0600)      
#>  vctrs          0.3.2      2020-07-15 [1] CRAN (R 4.0.2)                      
#>  whisker        0.4        2019-08-28 [1] CRAN (R 4.0.2)                      
#>  withr          2.2.0      2020-04-20 [1] CRAN (R 4.0.2)                      
#>  xfun           0.16.1     2020-07-28 [1] Github (yihui/xfun@0f9e1ae)         
#>  XML            3.99-0.5   2020-07-23 [1] CRAN (R 4.0.2)                      
#>  xml2           1.3.2      2020-04-23 [1] CRAN (R 4.0.2)                      
#>  xtable         1.8-4      2019-04-21 [1] CRAN (R 4.0.2)                      
#>  yaml           2.2.1      2020-02-01 [1] CRAN (R 4.0.0)                      
#> 
#> [1] C:/Program Files/R/R-4.0.2/library

Offer for side-by-side development

Hi,

Just thought I'd offer my time for side-by-side development as requested in the README. I'm based in the UK, so geography and time-differences are an issue. But if we could work out suitable times and something like a skype call with screenshare, I'd love to help develop the package further.

My email address is [email protected]. Let me know if you want to try and organise something.

Add VI and describe information to SVG webpage?

Would there be interest in adding the VI and describe printout to the BrowseSVG webpage.

This could be done with keyboard shortcuts to let the user quickly access the text when explaining the graph.

VI() always says that the legend is hidden when using scale_fill_continuous()

The default for scale_fill_continuous() is displaying a legend to the right of the graph which is a gradient between the colours used, with numeric indicators on the side to give an idea of what colours correspond to what counts. VI() says "The legend that would normally indicate this has been hidden" when it should not for these graphs.

No indication of what type of graph is shown if it is one that VI() cannot process

In general for types of graphs that VI() cannot process, at least give the name of the graph eg. ("This density graph is a type which VI() cannot fully process" for geom_density, "This area graph is a type which VI() cannot fully process" for geom_area)
If this can be generalized it will add some information without fully incorporating these rarer graph types.

CRAN removal

Hi @ajrgodfrey, I just saw that you were removed from CRAN. What issues are blocking the package from release there?

Thanks for the great package!

No acknowledgement of the difference between geom_point() and geom_jitter()

When making a scatter graph using ggplot, geom_point() will often not be able to show all the points, particularly if the variables are all integers. VI() will say that there are the total number of points when they aren't truly being displayed by geom_point(). The exact same description is given by by VI() when geom_jitter() has been used, which does display all the points, although slightly offset to where they actually lie.

WriteR.pyw does not take a file as an argument

Hello,

Opposed to the description file, the current version of WriteR.pyw does not allow users to pass a filename as an argument to open in.

I have tested this using Windows command line like below:

python WriteR.pyw test.Rmd

It should create "test.Rmd" in the current working directory and open it with WriteR; however, it does not work as expected.

Failure to pick up the correct axis labels if using xlab() and ylab()

If BrailleR is loaded after the tidyverse functions xlab() and ylab() also do not work on the graph. In the start up notes it mentions "The following objects are masked from ‘package:ggplot2’: xlab, ylab" which suggests that these are used for a different purpose in BrailleR and may need re-naming throughout to be compatible.

VI() descriptions for geom_histogram() give really inaccurate numbers of bars

VI() for geom_histogram has really weird ideas about numbers of bars. I expect that when sorting by categories it is including any missing category from each bar as a completely missing bar.

eg.
geom_histogram(aes(x, fill=catsOneToSeven), bins=5)

VI() will say that there are 35 vertical bars if there are 7 cats, regardless of whether the colours are included in the bar, and the fact that the default has them stacked and will not leave gaps for missing fill cats.

geom_boxplot not displaying correct description from VI()

The VI method is not picking up on the values for the geom_boxplot.

For example this simple graph

x = rnorm(1e3)
ggplot() +
  geom_boxplot(aes(x=x))

creates:

This is an untitled chart with no subtitle or caption.
It has x-axis 'x' with labels -2, 0 and 2.
It has y-axis '' with labels -0.4, -0.2, 0.0, 0.2 and 0.4.
The chart is a boxplot comprised of 1 box with whiskers.
There is a box at x=.
It has median . The box goes from to , and the whiskers extend to -0.38 and 0.38.
There are 7 outliers for this boxplot.

As can be seen, it is missing all of the specific layer information.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.