Comments (8)
Have you had any more thoughts on this?
from scales.
Somewhat related, I really like the "engineering" 1-2-5 log scale:
1 2 5 10 20 50 100 200 500 et cetera
See https://en.wikipedia.org/wiki/Preferred_number#1-2-5_series
from scales.
@sjackman want to contribute a labeller???
from scales.
Yeah, actually, I would. The next time it comes up, I'll do that. Can you point me to a template of code that I can crib and modify?
from scales.
@sjackman I'd start with the existing log_breaks()
: https://github.com/hadley/scales/blob/master/R/breaks.r#L47
from scales.
Might this be what you had in mind:
log_breaks_fill <- function(fill = "full", ...) {
function(x) {
sparse <- log_breaks(...)(x)
if (fill == "eng") {
fillVec <- c(1,2,5)
} else if (fill == "full") {
fillVec <- 1:9
} else if (fill == "none") {
fillVec <- 1
} else {
warning(paste0("Unrecognized fill option ignored:", fill))
fillVec <- 1
}
return(as.vector(fillVec %o% sparse))
}
}
from scales.
I'll try that out. Thanks!
from scales.
@cb4github The following works very well. Thanks for the suggestion!
library(scales)
library(tidyverse)
log_breaks_125 <- function(...) c(1, 2, 5) %o% log_breaks()(...)
ggplot(diamonds, aes(x = carat, y = price)) +
scale_x_log10(breaks = log_breaks_125) +
scale_y_log10(breaks = log_breaks_125) +
geom_point()
from scales.
Related Issues (20)
- Feature request: `label_log()` but for negative numbers
- Feature request: expand suite of colour manipulation functions
- Feature request: `pal_size`, `pal_alpha`, & `pal_linewidth` HOT 5
- Feature request: properties for palettes
- Feature request: `hold` argument for `label_*` functions HOT 1
- Feature request: could scales support keeping oob values but with infinites turned to NA? HOT 2
- Consider including package name in S3 class name(s)?
- Add help for breaks_* functions that says they return a function etc
- Could arguments be added `breaks_extended`, so that it is easier to use?
- Feature - wrap at a specific character
- `breaks_width()` does not work with reverse transform
- Feature request: Could `label_*` functions support labelling every nth break? HOT 1
- Unexpected Error when using `scale_cut = cut_short_scale()` HOT 1
- Feature request: Could a `breaks_equal` function be provided? HOT 1
- Should `transform_time` be named `transform_datetime`?
- Feature request: could `scales::breaks_width` have an argument to return breaks that encompass the full range of the data?
- Feature request: `transform_squish` or `label_squish`
- Feature request: an option to remove leading zeros in `label_date_short()`
- Feature request: Could `scales::number` etc have a `style_negative` option of `"none"`?
- label_number(accuracy=) generating plots with multiple 0 values on the X axis HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scales.