Вы могли бы передать трассировки в функцию, которая может сделать обертку за вас, так как я не могу найти сюжетное решение, я предоставляю эту альтернативу, в основном, я получаю доступ к свойству x
каждой трассы и затем добавляю<br>
с использованием регулярных выражений, проверьте приведенный ниже пример и дайте мне знать, если у вас есть какие-либо сомнения или проблемы.
var trace1 = {
x: [
"this is a very long title that needs to be wrapped up for readability purposes2",
"this is a very long title that needs to be wrapped up for readability purposes2",
"this is a very long title that needs to be wrapped up for readability purposes3"
],
y: [90, 40, 60],
type: "bar",
name: "New York Zoo"
};
var trace2 = {
x: [
"this is a very long title that needs to be wrapped up for readability purposes",
"this is a very long title that needs to be wrapped up for readability purposes2",
"this is a very long title that needs to be wrapped up for readability purposes3"
],
y: [10, 80, 45],
type: "bar",
name: "San Francisco Zoo"
};
addBreaksAtLength = 10;
textwrapper = function(traces) {
for (trace of traces) {
trace.x = trace.x.map(text => {
let rxp = new RegExp(".{1," + addBreaksAtLength + "}", "g");
return text.match(rxp).join("<br>");
});
}
return traces;
};
var data = textwrapper([trace1, trace2]);
var layout = {
title: "Hide the Modebar",
showlegend: true
};
Plotly.newPlot("myDiv", data, layout, { displayModeBar: false });
<head>
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<div id="myDiv" style="width:100%;"></div>