Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #########
- # Date: 4/6/21
- # Author: JA
- #########
- pacman::p_load(
- #dataframe
- tidyverse,
- #viz
- plotly,
- #webapps
- shiny,
- #api
- spotifyr
- )
- # Authentication
- # Authorization
- readRenviron(".env")
- # Dashboard
- # Tablero
- # (Graphical) User Interface
- ui <- pageWithSidebar(
- titlePanel("Hallazgos Musicales"),
- sidebarPanel(
- selectInput(
- inputId="a",
- label="Artista A:",
- choices=c("The XX","Billie Eilish","Adele","The Killers"),
- selected="The XX"
- ),
- selectInput(
- inputId="b",
- label="Artista B:",
- choices=c("Willie Colón","Bad Bunny","J Balvin","Buena Vista Social Club"),
- selected="Buena Vista Social Club"
- ),
- selectInput(
- inputId="x",
- label="X:",
- choices=c("valence","danceability","instrumentalness","key_name"),
- selected="valence"
- ),
- selectInput(
- inputId="y",
- label="Y:",
- choices=c("valence","danceability","instrumentalness","key_name"),
- selected="key_name"
- ),
- ),
- mainPanel(
- plotlyOutput(
- outputId="plot"
- )
- )
- )
- # Server
- # Reactivity
- server <- function(input,output) {
- access_token <- reactive({
- get_spotify_access_token(
- client_id=Sys.getenv("SPOTIFY_CLIENT_ID"),
- client_secret=Sys.getenv("SPOTIFY_CLIENT_SECRET")
- )
- })
- a <- reactive({
- get_artist_audio_features(
- artist=input$a,
- authorization=access_token()
- )
- })
- b <- reactive({
- get_artist_audio_features(
- artist=input$b,
- authorization=access_token()
- )
- })
- x <- reactive({
- input$x
- })
- y <- reactive({
- input$y
- })
- output$plot <- renderPlotly({
- plot <- ggplot() +
- geom_point(a(),mapping=aes_string(x=x(),y=y()),color="blue") +
- geom_point(b(),mapping=aes_string(x=x(),y=y()),color="red")
- ggplotly(plot)
- })
- }
- shinyApp(ui,server)
- # killers <- get_artist_audio_features(
- # artist="The Killers",
- # authorization=access_token
- # )
- #
- # willie <- get_artist_audio_features(
- # artist="Willie Colón",
- # authorization=access_token
- # )
- #
- # ggplot() +
- # geom_point(willie,mapping=aes(x=valence,y=key_name),color="red") +
- # geom_point(killers,mapping=aes(x=valence,y=key_name),color="blue")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement