#r #ggplot2 #plotly #ggplotly
#r #ggplot2 #графическое #ggплотно
Вопрос:
Я хочу использовать plotly в R, чтобы следующая гистограмма меняла цвет на белый при наведении курсора мыши и на синий при нажатии:
ggplotly(
ggplot(iris, aes(y = Sepal.Length))
geom_histogram()
)
Я нашел этот отличный пост о применении этого к диаграмме рассеяния, но я не уверен, как «перевести» его в мою гистограмму: https://plotly.com/javascript/plotlyjs-events/#hover-event но это не работает….
ggplotly(
ggplot(iris, aes(y = Sepal.Length))
geom_histogram()
) %>%
htmlwidgets::onRender("
function(el) {
console.log(el)
el.on('plotly_hover', function(data){
var pn='',
tn='',
colors=[];
for(var i=0; i < data.points.length; i ){
pn = data.points[i].pointNumber;
tn = data.points[i].curveNumber;
colors = data.points[i].data.marker.color;
};
colors[pn] = '#C54C82';
var update = {'marker':{color: colors}};
Plotly.restyle(el.id, update, [tn]);
});
el.on('plotly_unhover', function(data){
var pn='',
tn='',
colors=[];
for(var i=0; i < data.points.length; i ){
pn = data.points[i].pointNumber;
tn = data.points[i].curveNumber;
colors = data.points[i].data.marker.color;
};
colors[pn] = '#00000';
var update = {'marker':{color: colors}};
Plotly.restyle(el.id, update, [tn]);
});
}
")