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

Display labels by fewer decimals #16

Open
bshor opened this issue Apr 21, 2017 · 3 comments
Open

Display labels by fewer decimals #16

bshor opened this issue Apr 21, 2017 · 3 comments

Comments

@bshor
Copy link

bshor commented Apr 21, 2017

I'd like to display slopegraphs with points with only a single decimal, so I use decimal=1 in my specification. But if I do, I get overlap of labels (eg VT and CT below) which I wouldn't get if used decimal=2. But using the latter is so untidy! Is there any way to get the benefit of the latter without displaying more than one significant digit?

One Significant Digit

ne polarization slopegraph

Two Significant Digits

slopegraph label two decimals

@leeper
Copy link
Owner

leeper commented Apr 18, 2018

This should be possible. Just need to drop rounding in two places:

https://github.com/leeper/slopegraph/blob/master/R/slopegraph.R#L110

https://github.com/leeper/slopegraph/blob/master/R/ggslopegraph.R#L104

@ibecav
Copy link
Collaborator

ibecav commented Jul 5, 2018

@leeper may want to think about using signif rather than rounding.

@bshor I just recently added ggslopegraph2 to the package and it uses some different approaches to this problem. You're welcome to give it a try if you like. This should work for you and includes the data you provided in your example.

devtools::install_github("leeper/slopegraph")
library(slopegraph)

bshor <- structure(list(Year = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 1L, 
                                  2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 
                                  6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 
                                  4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 2L, 3L, 4L, 5L, 6L, 1L, 
                                  2L, 3L, 4L, 5L, 6L), .Label = c("1996", "2000", "2004", "2008", 
                                                                  "2014", "2017"), class = "factor"), 
                        State = structure(c(9L, 9L, 9L, 9L, 9L, 9L, 6L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                            8L, 8L, 8L, 8L, 8L, 8L, 10L, 10L, 10L, 10L, 10L, 10L, 1L, 1L, 
                                            1L, 1L, 1L, 1L, 7L, 7L, 7L, 7L, 7L, 7L, 3L, 3L, 3L, 3L, 3L, 3L, 
                                            4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L), .Label = c("CT", "MA", "MD", "ME", "NH", "NJ", "NY", "PA", "RI", "VT"), class = "factor"), 
                       Pct = c(0.61, 0.51, 0.46, 0.51, 0.61, 0.78, 0.94, 0.95, 0.94, 
                               0.97, 0.97, 0.98, 0.98, 0.99, 0.99, 0.97, 0.97, 0.98, 1.26, 
                              1.23, 1.23, 1.26, 1.3, 1.4, 1.32, 1.27, 1.3, 1.13, 1.28, 
                              1.71, 1.32, 1.36, 1.33, 1.33, 1.31, 1.33, 1.44, 1.37, 1.49, 
                              1.38, 1.5, 1.57, 1.46, 1.7, 1.71, 1.8, 1.92, 2.07, 1.56, 
                              1.45, 1.56, 1.57, 1.78, 1.95, 1.83, 1.79, 1.84, 1.82, 1.79, 
                              1.71)), row.names = c(NA, -60L), class = "data.frame")

ggslopegraph2(bshor, Year, Pct, State, 
              title = "Display labels by fewer decimals #16", 
              linecolor = "light gray",
              subtitle = "With defaults")
bshor$rPct <- signif(bshor$Pct, 2)
ggslopegraph2(bshor, Year, rPct, State, 
              title = "Display labels by fewer decimals #16", 
              linecolor = "light gray",
              subtitle = "With signif digits = 2")

states1
states2

@bshor
Copy link
Author

bshor commented Jul 6, 2018

Going to give this a shot and report back!

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

No branches or pull requests

3 participants