Plotly中使用restyle修改坐标轴刻度字号无效的求助
修复Plotly修改轴刻度字号无效的问题
你用错方法了——Plotly.restyle()是用来修改数据系列属性的,而轴刻度字体属于布局(layout)配置,得用Plotly.relayout()才行。
直接把代码里的restyle换成relayout就能解决问题,另外补全了缺失的data示例,确保代码可直接运行:
<head> <script src='https://cdn.plot.ly/plotly-2.24.1.min.js'></script> </head> <body> <input type="number" id="LabelSizeInput" placeholder="Enter label size" /> <div id='myDiv'></div> </body> <script> // 示例数据 var data = [{ x: [1, 2, 3, 4], y: [10, 15, 13, 17], type: 'scatter' }]; var layout = { xaxis: { tickfont: { size: 12 } }, yaxis: { tickfont: { size: 12 } } }; Plotly.newPlot('myDiv', data, layout); var inputElement = document.getElementById('LabelSizeInput'); inputElement.addEventListener('input', function() { var label_size = parseInt(inputElement.value); if (!isNaN(label_size)) { // 关键修改:用relayout替代restyle Plotly.relayout('myDiv', { 'xaxis.tickfont.size': label_size, 'yaxis.tickfont.size': label_size, }); } }); </script>
关键说明
relayout()专门用于修改布局相关配置,包括轴样式、标题、图例位置等- 你原来写的属性路径
'xaxis.tickfont.size'是完全正确的,relayout支持这种嵌套属性的字符串写法 - 如果要修改z轴,直接在relayout参数里追加
'zaxis.tickfont.size': label_size即可
内容的提问来源于stack exchange,提问作者Natasha
相关产品推荐
相关产品推荐

