# Get this figure: fig <- get_figure("empet", 6450)
# Get this figure's data: data <- get_figure("empet", 6450)$data
# Add data to this figure: p <- add_trace(p, x=c(4, 5), y=c(4, 5), kwargs=list(filename="Prediction-Nomination", fileopt="extend"))
# Get y data of first trace: y1 <- get_figure("empet", 6450)$data[[1]]$y
# Get figure documentation: https://plotly.com/r/get-requests/
# Add data documentation: https://plotly.com/r/file-options/
# You can reproduce this figure in R with the following code!
# Learn about API authentication here: https://plotly.com/r/getting-started
# Find your api_key here: https://plotly.com/settings/api
library(plotly)
trace1 <- list(
name = "",
type = "bar",
x = c("H Clinton", "B Sanders", "J Biden", "O'Malley"),
y = c(70, 14, 13, 1),
xaxis = "x1",
yaxis = "y1",
marker = list(color = "#404ca0")
)
trace2 <- list(
name = "",
type = "bar",
x = c("J Bush", "D Trump", "M Rubio", "B Carson", "S Walter", "J Kasich", " C Fiorina", "T Cruz", "M Huckabee", "C Christie", "R Paul"),
y = c(36, 16, 13, 9, 8, 5, 4, 3, 3, 1, 1),
xaxis = "x2",
yaxis = "y1",
marker = list(color = "#B0122C")
)
trace3 <- list(
name = "",
type = "bar",
x = c("H Clinton", "B Sanders", "J Biden", "O'Malley"),
y = c(69, 12, 17, 0),
xaxis = "x3",
yaxis = "y2",
marker = list(color = "#404ca0")
)
trace4 <- list(
name = "",
type = "bar",
x = c("J Bush", "D Trump", "M Rubio", "B Carson", "S Walter", "J Kasich", " C Fiorina", "T Cruz", "M Huckabee", "C Christie", "R Paul"),
y = c(31, 13, 29, 6, 0, 2, 6, 4, 2, 5, 1),
xaxis = "x4",
yaxis = "y2",
marker = list(color = "#B0122C")
)
trace5 <- list(
name = "",
type = "bar",
x = c("H Clinton", "B Sanders", "J Biden", "O'Malley"),
y = c(77, 11, 10, 0),
xaxis = "x5",
yaxis = "y3",
marker = list(color = "#404ca0")
)
trace6 <- list(
name = "",
type = "bar",
x = c("J Bush", "D Trump", "M Rubio", "B Carson", "S Walter", "J Kasich", " C Fiorina", "T Cruz", "M Huckabee", "C Christie", "R Paul"),
y = c(28, 12, 31, 9, 0, 2, 5, 5, 2, 4, 1),
xaxis = "x6",
yaxis = "y3",
marker = list(color = "#B0122C")
)
trace7 <- list(
name = "",
type = "bar",
x = c("H Clinton", "B Sanders", "J Biden", "O'Malley"),
y = c(88, 12, 0, 0),
xaxis = "x7",
yaxis = "y4",
marker = list(color = "#404ca0")
)
trace8 <- list(
name = "",
type = "bar",
x = c("J Bush", "D Trump", "M Rubio", "B Carson", "S Walter", "J Kasich", " C Fiorina", "T Cruz", "M Huckabee", "C Christie", "R Paul"),
y = c(11, 20, 41, 11, 0, 2, 2, 7, 1, 4, 0),
xaxis = "x8",
yaxis = "y4",
marker = list(color = "#B0122C")
)
data <- list(trace1, trace2, trace3, trace4, trace5, trace6, trace7, trace8)
layout <- list(
font = list(family = "Open Sans, sans-serif"),
title = "Political Prediction Markets. Who will win the nomination for presidential election?",
width = 775,
bargap = 0.05,
height = 950,
margin = list(
b = 85,
l = 65,
r = 65,
t = 150
),
xaxis1 = list(
anchor = "y1",
domain = c(0.0, 0.2516),
mirror = FALSE,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis2 = list(
anchor = "free",
domain = c(0.2816, 1.0),
mirror = FALSE,
position = 0.8250000000000001,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis3 = list(
anchor = "y2",
domain = c(0.0, 0.2516),
mirror = FALSE,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis4 = list(
anchor = "free",
domain = c(0.2816, 1.0),
mirror = FALSE,
position = 0.55,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis5 = list(
anchor = "y3",
domain = c(0.0, 0.2516),
mirror = FALSE,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis6 = list(
anchor = "free",
domain = c(0.2816, 1.0),
mirror = FALSE,
position = 0.275,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis7 = list(
anchor = "y4",
domain = c(0.0, 0.2516),
mirror = FALSE,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
xaxis8 = list(
anchor = "free",
domain = c(0.2816, 1.0),
mirror = FALSE,
position = 0.0,
showgrid = FALSE,
showline = TRUE,
tickfont = list(size = 10),
zeroline = FALSE,
tickangle = -45,
showticklabels = TRUE
),
yaxis1 = list(
range = c(0, 88.2),
title = "%",
anchor = "x1",
domain = c(0.8250000000000001, 1.0),
mirror = FALSE,
showgrid = TRUE,
zeroline = FALSE,
gridcolor = "#FFFFFF",
gridwidth = 1,
showticklabels = TRUE
),
yaxis2 = list(
range = c(0, 88.2),
title = "%",
anchor = "x3",
domain = c(0.55, 0.7250000000000001),
mirror = FALSE,
showgrid = TRUE,
zeroline = FALSE,
gridcolor = "#FFFFFF",
gridwidth = 1,
showticklabels = TRUE
),
yaxis3 = list(
range = c(0, 88.2),
title = "%",
anchor = "x5",
domain = c(0.275, 0.45),
mirror = FALSE,
showgrid = TRUE,
zeroline = FALSE,
gridcolor = "#FFFFFF",
gridwidth = 1,
showticklabels = TRUE
),
yaxis4 = list(
range = c(0, 88.2),
title = "%",
anchor = "x7",
domain = c(0.0, 0.175),
mirror = FALSE,
showgrid = TRUE,
zeroline = FALSE,
gridcolor = "#FFFFFF",
gridwidth = 1,
showticklabels = TRUE
),
autosize = FALSE,
hovermode = "x",
showlegend = FALSE,
annotations = list(
list(
x = 0.14,
y = 1.0,
font = list(size = 12),
text = "PredictWise Chance of Winning
Democratic Nomination,
September 17, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.6,
y = 1.0,
font = list(size = 12),
text = "PredictWise Chance of Winning Republican Nomination,
September 17, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.14,
y = 0.725,
font = list(size = 12),
text = "October 4, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.6,
y = 0.725,
font = list(size = 12),
text = "October 4, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.14,
y = 0.44999999999999996,
font = list(size = 12),
text = "October 18, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.6,
y = 0.44999999999999996,
font = list(size = 12),
text = "October 18, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.14,
y = 0.17499999999999993,
font = list(size = 12),
text = "October 29, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0.6,
y = 0.17499999999999993,
font = list(size = 12),
text = "October 29, 2015",
xref = "paper",
yref = "paper",
xanchor = "center",
yanchor = "bottom",
showarrow = FALSE
),
list(
x = 0,
y = -0.12,
font = list(size = 11),
text = "Data source: [1].",
xref = "paper",
yref = "paper",
xanchor = "left",
yanchor = "bottom",
showarrow = FALSE
)
),
plot_bgcolor = "#EFECEA"
)
p <- plot_ly()
p <- add_trace(p, name=trace1$name, type=trace1$type, x=trace1$x, y=trace1$y, xaxis=trace1$xaxis, yaxis=trace1$yaxis, marker=trace1$marker)
p <- add_trace(p, name=trace2$name, type=trace2$type, x=trace2$x, y=trace2$y, xaxis=trace2$xaxis, yaxis=trace2$yaxis, marker=trace2$marker)
p <- add_trace(p, name=trace3$name, type=trace3$type, x=trace3$x, y=trace3$y, xaxis=trace3$xaxis, yaxis=trace3$yaxis, marker=trace3$marker)
p <- add_trace(p, name=trace4$name, type=trace4$type, x=trace4$x, y=trace4$y, xaxis=trace4$xaxis, yaxis=trace4$yaxis, marker=trace4$marker)
p <- add_trace(p, name=trace5$name, type=trace5$type, x=trace5$x, y=trace5$y, xaxis=trace5$xaxis, yaxis=trace5$yaxis, marker=trace5$marker)
p <- add_trace(p, name=trace6$name, type=trace6$type, x=trace6$x, y=trace6$y, xaxis=trace6$xaxis, yaxis=trace6$yaxis, marker=trace6$marker)
p <- add_trace(p, name=trace7$name, type=trace7$type, x=trace7$x, y=trace7$y, xaxis=trace7$xaxis, yaxis=trace7$yaxis, marker=trace7$marker)
p <- add_trace(p, name=trace8$name, type=trace8$type, x=trace8$x, y=trace8$y, xaxis=trace8$xaxis, yaxis=trace8$yaxis, marker=trace8$marker)
p <- layout(p, font=layout$font, title=layout$title, width=layout$width, bargap=layout$bargap, height=layout$height, margin=layout$margin, xaxis1=layout$xaxis1, xaxis2=layout$xaxis2, xaxis3=layout$xaxis3, xaxis4=layout$xaxis4, xaxis5=layout$xaxis5, xaxis6=layout$xaxis6, xaxis7=layout$xaxis7, xaxis8=layout$xaxis8, yaxis1=layout$yaxis1, yaxis2=layout$yaxis2, yaxis3=layout$yaxis3, yaxis4=layout$yaxis4, autosize=layout$autosize, hovermode=layout$hovermode, showlegend=layout$showlegend, annotations=layout$annotations, plot_bgcolor=layout$plot_bgcolor)