R: gráficos interativos (dicas): gráfico de covinhas rCharts: eixo de formatação

Eu tenho alguns gráficos criados comggplot2 que gostaria de incorporar em um aplicativo da web: gostaria de aprimorar os gráficos com dicas de ferramentas. Eu olhei para várias opções. Atualmente, estou experimentando orCharts biblioteca e, entre outros, covinhas.

Aqui está o ggplot original:

Aqui está uma primeira tentativa de transpor isso para um gráfico de covinhas:

Eu tenho vários problemas:

depois de formatar o eixo y com porcentagens, os dados são alterados.

depois de formatar o eixo x para renderizar datas corretamente, muitas etiquetas são impressas.

Não estou vinculado a gráficos de covinhas, portanto, se houver outras opções que permitam uma maneira mais fácil de ajustar os formatos de eixo, ficaria feliz em saber. (os gráficos de Morris também parecem bons, mas ajustá-los parece ainda mais difícil, não?)

Objetivo: Corrija os eixos e adicione dicas de ferramentas que fornecem a data (no formato 1984) e o valor (no formato 40%).

Se eu puder consertar 1 e 2, ficaria muito feliz. Mas aqui está outra pergunta menos importante, caso alguém tenha sugestões:

Posso adicionar os rótulos de linha ("Top 10%") às dicas de ferramentas ao passar o mouse sobre as linhas?

Depois de baixar os dados de:https://gist.github.com/ptoche/872a77b5363356ff5399, um quadro de dados é criado:

df <- read.csv("ps-income-shares.csv")

O gráfico básico de ondulações é criado com:

library("rCharts")
p <- dPlot(
    value ~ Year,
    groups = c("Fractile"),
    data = transform(df, Year = as.character(format(as.Date(Year), "%Y"))),
    type = "line",
    bounds = list(x = 50, y = 50, height = 300, width = 500)
)

Enquanto básico, até agora tudo bem. No entanto, o comando a seguir, destinado a converter os dados y em porcentagens, altera os dados:

p$yAxis(type = "addMeasureAxis", showPercent = TRUE)

O que estou fazendo de errado comshowPercent?

Para referência, aqui está o código ggplot:

library("ggplot2")
library("scales")
p <- ggplot(data = df, aes(x = Year, y = value, color = Fractile))
p <- p + geom_line()
p <- p + theme_bw()
p <- p + scale_x_date(limits = as.Date(c("1911-01-01", "2023-01-01")), labels = date_format("%Y"))
p <- p + scale_y_continuous(labels = percent)
p <- p + theme(legend.position = "none")
p <- p + geom_text(data = subset(df, Year == "2012-01-01"), aes(x = Year, label = Fractile, hjust = -0.2), size = 4)
p <- p + xlab("")
p <- p + ylab("")
p <- p + ggtitle("U.S. top income shares (%)")
p

Para informações, o gráfico acima é baseado nos dados reunidos porThomas Piketty eEmmanuel Saez em seu estudo sobre os principais rendimentos dos EUA. Os dados e muito mais podem ser encontrados no site, por exemplo,

http://elsa.berkeley.edu/users/saez/

http://piketty.pse.ens.fr/en/

EDITAR:

Aqui está uma captura de tela da solução de Ramnath, com um título adicionado e os rótulos dos eixos ajustados. Obrigado Ramnath!

p$xAxis(inputFormat = '%Y-%m-%d', outputFormat = '%Y')
p$yAxis(outputFormat = "%")
p$setTemplate(afterScript = "
  <script>
    myChart.axes[0].timeField = 'Year'
    myChart.axes[0].timePeriod = d3.time.years
    myChart.axes[0].timeInterval = 10
    myChart.draw()
    myChart.axes[0].titleShape.remove()  // remove x label
    myChart.axes[1].titleShape.remove()  // re,move y label
    myChart.svg.append('text')           // chart title
        .attr('x', 40)
        .attr('y', 20)
        .text('U.S. top income shares (%)')
        .style('text-anchor','beginning')
        .style('font-size', '100%')
        .style('font-family','sans-serif')
  </script>               
")
p

Para alterar (em vez de remover) os rótulos dos eixos, por exemplo:

myChart.axes[1].titleShape.text('Year')

Para adicionar uma legenda à plotagem:

p$set(width = 1000, height = 600)
p$legend(
  x = 580,
  y = 0,
  width = 50,
  height = 200,
  horizontalAlign = "left"
)

Para salvar o fluxograma:

p$save("ps-us-top-income-shares.html", cdn = TRUE)

Uma alternativa baseada na biblioteca nvd3 pode ser obtida (sem nenhuma das coisas sofisticadas) com:

df$Year <- strftime(df$Year, format = "%Y")
n <- nPlot(data = df, value ~ Year, group = 'Fractile', type = 'lineChart')

questionAnswers(2)

yourAnswerToTheQuestion