问题:
我正在使用plotly.js。
当我尝试更新marker.symbol
时,它会重置marker.size
JSFIDDLE: https://jsfiddle.net/bababalcksheep/sa0rbfg8/6/
代码:
var trace1 = {
x: [1, 2, 3, 4],
y: [10, 11, 12, 13],
mode: 'markers',
marker: {
size: [40, 60, 80, 100]
}
};
var data = [trace1];
var layout = {
title: 'Marker Size',
showlegend: false,
height: 400,
width: 480
};
Plotly.newPlot('myDiv', data, layout);
$('#changes').click(function() {
var data_update = {
'marker': {
symbol: 'square'
}
};
Plotly.restyle('myDiv', data_update, [0]);
});
答案 0 :(得分:1)
问题是大小是标记的属性,当您使用新的标记对象更新跟踪时,您将使用不包含大小的新json进行覆盖。这样的事情可以解决问题。
var trace1 = {
x: [1, 2, 3, 4],
y: [10, 11, 12, 13],
mode: 'markers',
marker: {
size: [40, 60, 80, 100]
}
};
var data = [trace1];
var layout = {
title: 'Marker Size',
showlegend: false,
height: 400,
width: 480
};
Plotly.newPlot('myDiv', data, layout);
$('#changes').click(function() {
var data_update = {
'marker.symbol': 'square'
}
};
Plotly.restyle('myDiv', data_update, [0]);
});