У вас есть все данные, и они просто скрыты из-за уровня масштабирования по умолчанию.Если вы хотите, чтобы по умолчанию все точки данных отображались одновременно, вы можете установить диапазон по осям X и Y.
Кроме того, установка диапазона не повлияет на масштабирование в будущем.
По сути, вы можете установить диапазон min и max равным 0 и своим максимальным значением.
xaxis: { autorange: false, range:[0, 10]},
yaxis: { autorange: false, range:[0, 10]},
В следующем фрагменте, который я сделалдве переменные для отслеживания x и y max и добавления 2. Это обеспечит наличие буфера 2 в верхней части для отображения всех точек данных.
var data = [
{
x: [3, 4, 5, 6, 7, 8],
y: [3, 4, 5, 6, 7, 8],
type: 'scatter'
}
];
var xMax = data[0].x[data[0].x.length - 1] + 2;
var yMax = data[0].y[data[0].y.length - 1] + 2;
var layout = {
// autosize: true,
// rangemode: "tozero",
width: 500,
height: 500,
autoscale: false,
xaxis: { autorange: false, range:[0, xMax]},
yaxis: { autorange: false, range:[0, yMax]},
};
Plotly.newPlot('myDiv', data, layout, {showSendToCloud: true});
<head>
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<!-- jquery -->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<!-- Plotly chart will be drawn inside this DIV -->
<div id="myDiv"></div>
</body>