Reputation: 2508
I want to plot this two pie charts on the same plot. Below you can see my data:
library(plotly)
library(dplyr)
library(grid)
Share<- structure(list(Y = c(2018, 2018, 2019, 2019), Categorie = c("Before","After", "Before","After"), Share = c(1.0,99., 3, 97)), row.names = c(NA,-4L), class = c("tbl_df", "tbl", "data.frame"))
I try with this lines of code but I can't find solution.
fig1 <- plot_ly(Share, labels = ~Categorie , values = ~Share, type = 'pie')
fig2 <- plot_ly(Share, labels = ~Categorie , values = ~Share, type = 'pie')
PLOT<-subplot(fig1,fig2,nrows=2,margin = 0.05)
So can anybody help me how to solve this and make plot like pic below but with Donut Charts:
Upvotes: 1
Views: 1113
Reputation: 8506
Try adjusting the following example to your data: Placing donut charts side by side using plotly in R
suppressPackageStartupMessages(invisible(
lapply(c("plotly", "dplyr"), require, character.only = TRUE)))
Share <- structure(list(Y = c(2018, 2018, 2019, 2019),
Categorie = c("Before","After", "Before","After"),
Share = c(1.0,99., 3, 97)),
row.names = c(NA,-4L), class = c("tbl_df", "tbl", "data.frame"))
p <- plot_ly() %>%
add_pie(data=Share, labels = ~Categorie , values = ~Share, hole = 0.6,
name = "fig1", domain = list(x = c(0, 0.4), y = c(0.4, 1))) %>%
add_pie(data=Share, labels = ~Categorie , values = ~Share, hole = 0.6,
name = "fig2", domain = list(x = c(0.6, 1), y = c(0.4, 1))) %>%
layout(title = "Donut sub-plots", showlegend = TRUE,
font=list(family="sans serif", color="#000"),
plot_bgcolor="#f0f0f0",
legend = list(orientation = 'h',font=list(size=28)),
xaxis = list(title="", showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE))
p
Created on 2021-01-21 by the reprex package (v0.3.0)
Upvotes: 1