Nothing
## ---- include=FALSE-----------------------------------------------------------
library(scatterD3)
knitr::opts_chunk$set(screenshot.force = FALSE)
## ----basic, eval=FALSE--------------------------------------------------------
# library(scatterD3)
# scatterD3(x = mtcars$wt, y = mtcars$mpg)
## ----basic_nse----------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg)
## ----basic_cust---------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
point_size = 200, point_opacity = 0.5,
colors = "#A94175")
## ----hover_cust---------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
point_size = 100, point_opacity = 0.5,
hover_size = 4, hover_opacity = 1)
## ----cust_tooltips------------------------------------------------------------
tooltips <- paste(
"This is an incredible <strong>", rownames(mtcars), "</strong><br />with ",
mtcars$cyl, "cylinders !"
)
scatterD3(data = mtcars, x = wt, y = mpg, tooltip_text = tooltips)
## ----tooltips_position--------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, tooltip_position = "top left")
## ----categorical--------------------------------------------------------------
mtcars$cyl_fac <- paste(mtcars$cyl, "cylinders")
scatterD3(data = mtcars, x = cyl_fac, y = mpg)
## ----categorical_left_margin--------------------------------------------------
scatterD3(data = mtcars, x = wt, y = cyl_fac, left_margin = 80)
## ----fixed--------------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
fixed = TRUE)
## ----log_scales---------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
x_log = TRUE, y_log = TRUE)
## ----axis_limits--------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, xlim = c(0, 10), ylim = c(10, 35))
## ----cust_labels--------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
xlab = "Weight", ylab = "Mpg")
## ----cust_labels_size---------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
xlab = "Weight", ylab = "Mpg",
axes_font_size = "160%")
## ----labels-------------------------------------------------------------------
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg,
lab = names)
## ----labels_size--------------------------------------------------------------
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg,
lab = names, labels_size = 12)
## ----labels_auto--------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, lab = names,
labels_positions = "auto")
## ----labels_export------------------------------------------------------------
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names)
## ----labels_export_scatterD3, eval = FALSE------------------------------------
# labels <- read.csv("scatterD3_labels.csv")
# scatterD3(data = mtcars, x = wt, y = mpg, lab = names, labels_positions = labels)
## ----labels_export_ggplot2, eval = FALSE--------------------------------------
# labels <- read.csv("scatterD3_labels.csv")
# library(ggplot2)
# ggplot() +
# geom_point(data = mtcars, aes(x = wt, y = mpg)) +
# geom_text(data = labels,
# aes(x = lab_x,
# y = lab_y,
# label = lab))
## ----mapping_color------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl)
## ----map_custom_colors--------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl,
colors = c("4" = "#ECD078", "8" = "#C02942", "6" = "#53777A"))
## ----custom_continuous_color--------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = disp, colors = "interpolatePuRd")
## ----custom_categorical_color-------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, colors = "schemeTableau10")
## ----map_factor_levels_color--------------------------------------------------
mtcars$cyl_o <- factor(mtcars$cyl, levels = c("8", "6", "4"))
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl_o)
## ----map_continuous_color-----------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = disp)
## ----map_size-----------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, size_var = hp)
## ----map_size_range-----------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, size_var = hp,
size_range = c(10, 1000), point_opacity = 0.7)
## ----custom_sizes-------------------------------------------------------------
scatterD3(data = mtcars, x = mpg, y = wt, size_var = cyl,
sizes = c("4" = 10, "6" = 100, "8" = 1000))
## ----mapping------------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, symbol_var = gear)
## ----map_factor levels--------------------------------------------------------
mtcars$cyl_o <- factor(mtcars$cyl, levels = c("8", "6", "4"))
scatterD3(data = mtcars, x = wt, y = mpg, symbol_var = cyl_o)
## ----map_custom_symbols-------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, symbol_var = cyl,
symbols = c("4" = "wye", "8" = "star", "6" = "triangle"))
## ----opacity_var--------------------------------------------------------------
scatterD3(data = mtcars, x = mpg, y = wt, opacity_var = drat)
## ----custom_opacity-----------------------------------------------------------
scatterD3(data = mtcars, x = mpg, y = wt, opacity_var = cyl,
opacities = c("4" = 1, "6" = 0.1, "8" = 0.5))
## ----lines--------------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
lines = data.frame(slope = -5.344, intercept = 37.285))
## ----lines_style--------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
lines = data.frame(slope = 0,
intercept = 30,
stroke = "red",
stroke_width = 5,
stroke_dasharray = "10,5"))
## ----lines_default------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, fixed = TRUE,
lines = data.frame(slope = c(0, Inf),
intercept = c(0, 0),
stroke = "#000",
stroke_width = 1,
stroke_dasharray = 5))
## ----ellipses-----------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, ellipses = TRUE)
## ----ellipses_col-------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, ellipses = TRUE)
## ----cust_arrows--------------------------------------------------------------
df <- data.frame(x = c(1, 0.9, 0.7, 0.2, -0.4, -0.5),
y = c(1, 0.1, -0.5, 0.5, -0.6, 0.7),
type_var = c("point", rep("arrow", 5)),
lab = LETTERS[1:6])
scatterD3(data = df, x = x, y = y,
type_var = type_var, lab = lab,
fixed = TRUE, xlim = c(-1.2, 1.2), ylim = c(-1.2, 1.2))
## ----unit_circle--------------------------------------------------------------
scatterD3(data = df, x = x, y = y,
type_var = type_var,
unit_circle = TRUE, fixed = TRUE,
xlim = c(-1.2, 1.2), ylim = c(-1.2, 1.2))
## ----cust_labels2-------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, symbol_var = gear,
xlab = "Weight", ylab = "Mpg", col_lab = "Cylinders",
symbol_lab = "Gears")
## ----rm_legend----------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl, col_lab = NA)
## ----cust_labels_legend_size--------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl,
legend_font_size = "16px")
## ----cust_left_margin---------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl,
left_margin = 80)
## ----caption_character--------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl,
caption = "Lorem ipsum dolor sit amet, <strong>consectetur adipiscing
elit</strong>. Nullam aliquam egestas pretium. Donec auctor semper
vestibulum. Phasellus in tempor lacus. Maecenas vehicula, ipsum id
malesuada placerat, diam lorem aliquet lectus, non lacinia quam leo
quis eros.")
## ----caption_list-------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, col_var = cyl,
caption = list(title = "Caption title",
subtitle = "Caption subtitle",
text = "Lorem ipsum dolor sit amet, <strong>consectetur
adipiscing elit</strong>. Nullam aliquam egestas pretium.
Donec auctor semper vestibulum. Phasellus in tempor lacus.
Maecenas vehicula, ipsum id malesuada placerat, diam lorem
aliquet lectus, non lacinia quam leo quis eros."))
## ----urls---------------------------------------------------------------------
mtcars$urls <- paste0("https://www.duckduckgo.com/?q=", rownames(mtcars))
scatterD3(data = mtcars, x = wt, y = mpg, lab = names, url_var = urls)
## ----click_callback-----------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
click_callback = "function(id, d) {
alert('scatterplot ID: ' + id + ' - Point key_var: ' + d.key_var)
}")
## ---- click_callback_shiny, eval=FALSE----------------------------------------
# scatterD3(data = mtcars, x = wt, y = mpg,
# click_callback = "function(id, d) {
# if(id && typeof(Shiny) != 'undefined') {
# Shiny.onInputChange('selected_point', d.key_var);
# }
# }")
## ----click_callback_shiny_ui, eval = FALSE------------------------------------
# textOutput("click_selected")
## ----click_callback_shiny_server, eval = FALSE--------------------------------
# output$click_selected <- renderText(paste0("Clicked point : ", input$selected_point))
## ----zoom_callback------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
zoom_callback = "function(xmin, xmax, ymin, ymax) {
var zoom = '<strong>Zoom</strong><br />xmin = ' + xmin + '<br />xmax = ' + xmax + '<br />ymin = ' + ymin + '<br />ymax = ' + ymax;
document.getElementById('zoomExample').innerHTML = zoom;
}")
## ----init_callback------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg,
init_callback = "function() {
var scales = this.scales();
var svg = this.svg();
new_x_axis = scales.xAxis.tickFormat(d3.format(',.0%'));
svg.select('.x.axis').call(new_x_axis);
}"
)
## ----nomenu-------------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, menu = FALSE)
## ----lasso--------------------------------------------------------------------
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars, x = wt, y = mpg, lab = names, lasso = TRUE)
## ----lasso_callback-----------------------------------------------------------
mtcars$names <- rownames(mtcars)
scatterD3(data = mtcars,
x = wt, y = mpg, lab = names,
lasso = TRUE,
lasso_callback = "function(sel) {alert(sel.data().map(function(d) {return d.lab}).join('\\n'));}")
## ----zoom_on------------------------------------------------------------------
scatterD3(data = mtcars, x = wt, y = mpg, zoom_on = c(1.615, 30.4), zoom_on_level = 6, lab = names)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.