You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:33:15