无法通过设置标记类型来扩展轨迹
Can't extend traces with setting the marker type
使用下面的代码,我正在尝试创建一个简单的气泡图。我创建了一个跟踪以稍后扩展它:
var t9 = {
x: [100821],
y: [11],
name: 'Some text',
text: ['Some text'],
mode: ['markers'],
marker: [{
size: [1531*10],
sizeref: 2,
sizemode: 'area'
}]
};
var data = [t9];
var layout = {
title: 'Chart',
showlegend: true,
xaxis: {
title: 'Some text'
},
yaxis: {
title: 'Some text'
}
};
var config = {responsive: true}
Plotly.newPlot('plot', data, layout, config);
Plotly.extendTraces(
'plot',
{
x: [[5491]],
y: [[5]],
text: [['Some text']],
mode: [['markers']],
marker: [[{
size: 123*100,
sizeref: 2,
sizemode: 'area'
}]]
}, [0]);
Plotly.extendTraces(
'plot',
{
x: [[60022]],
y: [[11]],
text: [['Some text']],
mode: [['markers']],
marker: [[{
size: 982*100,
sizeref: 2,
sizemode: 'area'
}]]
}, [0]);
<head>
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<html>
<body>
<div id="plot"></div>
</body>
</html>
结果是这样的:
如您所见,这些标记不具有 属性 mode: ['markers']
和所有 markers:
属性。
知道如何获得此页面上的结果吗?
https://plotly.com/javascript/bubble-charts/
如果您使用 extendTraces
并希望更新属性,您需要以字符串形式提供此类标记大小的属性,例如marker.size
并且该值必须是一个数组,就像您的新 x 和 y 值一样。
Plotly.extendTraces(
'plot',
{
x: [[5491]],
y: [[5]],
'marker.size':[[40*100]]
}, [0]);
您的初始数据和属性应该是一个简单的数组或对象,而不是 arrays/objects 的数组。
var t9 = {
x: [100821],
y: [11],
name: 'Some text',
text: 'Some text',
mode: 'markers',
marker: {
size: [15*100],
sizeref: 1,
sizemode: 'area'
}
};
var data = [t9];
var layout = {
title: 'Chart',
showlegend: true,
xaxis: {
title: 'Some text'
},
yaxis: {
title: 'Some text',
range: [-12, 30]
}
};
var config = {responsive: true}
Plotly.newPlot('plot', data, layout, config);
Plotly.extendTraces(
'plot',
{
x: [[5491]],
y: [[5]],
'marker.size':[[40*100]]
}, [0]);
Plotly.extendTraces(
'plot',
{
x: [[60022]],
y: [[11]],
'marker.size':[[200*100]]
}, [0]);
<head>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<div id='plot'>
</div>
使用下面的代码,我正在尝试创建一个简单的气泡图。我创建了一个跟踪以稍后扩展它:
var t9 = {
x: [100821],
y: [11],
name: 'Some text',
text: ['Some text'],
mode: ['markers'],
marker: [{
size: [1531*10],
sizeref: 2,
sizemode: 'area'
}]
};
var data = [t9];
var layout = {
title: 'Chart',
showlegend: true,
xaxis: {
title: 'Some text'
},
yaxis: {
title: 'Some text'
}
};
var config = {responsive: true}
Plotly.newPlot('plot', data, layout, config);
Plotly.extendTraces(
'plot',
{
x: [[5491]],
y: [[5]],
text: [['Some text']],
mode: [['markers']],
marker: [[{
size: 123*100,
sizeref: 2,
sizemode: 'area'
}]]
}, [0]);
Plotly.extendTraces(
'plot',
{
x: [[60022]],
y: [[11]],
text: [['Some text']],
mode: [['markers']],
marker: [[{
size: 982*100,
sizeref: 2,
sizemode: 'area'
}]]
}, [0]);
<head>
<!-- Plotly.js -->
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<html>
<body>
<div id="plot"></div>
</body>
</html>
结果是这样的:
如您所见,这些标记不具有 属性 mode: ['markers']
和所有 markers:
属性。
知道如何获得此页面上的结果吗? https://plotly.com/javascript/bubble-charts/
如果您使用
extendTraces
并希望更新属性,您需要以字符串形式提供此类标记大小的属性,例如marker.size
并且该值必须是一个数组,就像您的新 x 和 y 值一样。Plotly.extendTraces( 'plot', { x: [[5491]], y: [[5]], 'marker.size':[[40*100]] }, [0]);
您的初始数据和属性应该是一个简单的数组或对象,而不是 arrays/objects 的数组。
var t9 = { x: [100821], y: [11], name: 'Some text', text: 'Some text', mode: 'markers', marker: { size: [15*100], sizeref: 1, sizemode: 'area' } }; var data = [t9]; var layout = { title: 'Chart', showlegend: true, xaxis: { title: 'Some text' }, yaxis: { title: 'Some text', range: [-12, 30] } }; var config = {responsive: true} Plotly.newPlot('plot', data, layout, config); Plotly.extendTraces( 'plot', { x: [[5491]], y: [[5]], 'marker.size':[[40*100]] }, [0]); Plotly.extendTraces( 'plot', { x: [[60022]], y: [[11]], 'marker.size':[[200*100]] }, [0]);
<head> <script src="https://cdn.plot.ly/plotly-latest.min.js"></script> </head> <div id='plot'> </div>