8000 Fix scales · codejets/plotly.js@9d73b00 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9d73b00

Browse files
committed
Fix scales
1 parent f8f8af4 commit 9d73b00

File tree

3 files changed

+38
-18
lines changed

3 files changed

+38
-18
lines changed

src/traces/scattergl/attributes.js

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ var scatterAttrs = require('../scatter/attributes');
1212
var colorAttributes = require('../../components/colorscale/color_attributes');
1313

1414
var DASHES = require('../../constants/gl2d_dashes');
15-
var MARKERS = require('../../constants/gl2d_markers');
1615
var extendFlat = require('../../lib/extend').extendFlat;
1716
var extendDeep = require('../../lib/extend').extendDeep;
1817

@@ -58,14 +57,7 @@ module.exports = {
5857
}
5958
},
6059
marker: extendDeep({}, colorAttributes('marker'), {
61-
symbol: {
62-
valType: 'enumerated',
63-
values: Object.keys(MARKERS),
64-
dflt: 'circle',
65-
arrayOk: true,
66-
role: 'style',
67-
description: 'Sets the marker symbol type.'
68-
},
60+
symbol: scatterMarkerAttrs.symbol,
6961
size: scatterMarkerAttrs.size,
7062
sizeref: scatterMarkerAttrs.sizeref,
7163
sizemin: scatterMarkerAttrs.sizemin,

src/traces/scattergl/convert.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ function LineWithMarkers(scene, uid) {
102102
var scatterOptions1 = Lib.extendFlat({}, scatterOptions0, {snapPoints: false});
103103

104104
this.scatter = this.initObject(createScatter, scatterOptions0, 3);
105+
105106
this.fancyScatter = this.initObject(createFancyScatter, scatterOptions0, 4);
106107
this.selectScatter = this.initObject(createScatter, scatterOptions1, 5);
107108
}
@@ -130,7 +131,6 @@ proto.initObject = function(createFn, options, objIndex) {
130131
function dispose() {
131132
if(obj) obj.dispose();
132133
}
133-
134134
return {
135135
options: options,
136136
update: update,
@@ -617,6 +617,7 @@ proto.updateFancy = function(options) {
617617
minBorderWidth = (symbolSpec.noBorder || symbolSpec.noFill) ? 0.1 * size : 0;
618618

619619
this.scatter.options.sizes[i] = 4.0 * size;
620+
620621
this.scatter.options.glyphs[i] = symbolSpec.unicode;
621622
this.scatter.options.borderWidths[i] = 0.5 * ((bw > minBorderWidth) ? bw - minBorderWidth : 0);
622623

src/traces/scatterregl/plot.js

Lines changed: 35 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +20,17 @@ var formatColor = require('../../lib/gl_format_color');
2020
var subTypes = require('../scatter/subtypes');
2121
var makeBubbleSizeFn = require('../scatter/make_bubble_size_func');
2222
var getTraceColor = require('../scatter/get_trace_color');
23-
var MARKER_SYMBOLS = require('../../constants/gl2d_markers');
2423
var MARKER_SVG_SYMBOLS = require('../../components/drawing/symbol_defs');
2524
var DASHES = require('../../constants/gl2d_dashes');
2625
var fit = require('canvas-fit')
26+
var createScatter = require('../../../../regl-scatter2d')
27+
var createLine = require('../../../../regl-line2d')
28+
var Drawing = require('../../components/drawing');
2729

2830
var AXES = ['xaxis', 'yaxis'];
2931
var DESELECTDIM = 0.2;
3032
var TRANSPARENT = [0, 0, 0, 0];
3133

32-
var createScatter = require('../../../../regl-scatter2d')
3334

3435

3536

@@ -121,14 +122,29 @@ function createScatterScene(container) {
121122
borderSize: 1,
122123
borderColor: [0, 0, 0, 1],
123124
snapPoints: true,
124-
canvas: container.canvas
125+
canvas: container.canvas,
126+
pixelRatio: container._context.plotGlPixelRatio || window.devicePixelRatio
125127
};
126128

127129
this.scatter = createScatter(scatterOptions0);
128130
this.scatter.options = scatterOptions0
129131
this.scatter._trace = this
130132

131133

134+
this.line = createLine({
135+
positions: new Float64Array(0),
136+
color: [0, 0, 0, 1],
137+
width: 1,
138+
fill: [false, false, false, false],
139+
fillColor: [
140+
[0, 0, 0, 1],
141+
[0, 0, 0, 1],
142+
[0, 0, 0, 1],
143+
[0, 0, 0, 1]],
144+
dashes: [1],
145+
}, 0);
146+
147+
132148
return this
133149
}
134150

@@ -252,7 +268,7 @@ proto.updateFancy = function(options) {
252268
positions = positions.slice(0, ptr);
253269
this.idToIndex = idToIndex;
254270

255-
// this.updateLines(options, positions);
271+
this.updateLines(options, positions);
256272
// this.updateError('X', options, positions, errorsX);
257273
// this.updateError('Y', options, positions, errorsY);
258274

@@ -278,11 +294,13 @@ proto.updateFancy = function(options) {
278294
this.scatter.options.borderColors = new Array(pId);
279295

280296
var markerSizeFunc = makeBubbleSizeFn(options);
297+
281298
var markerOpts = options.marker;
282299
var markerOpacity = markerOpts.opacity;
283300
var traceOpacity = options.opacity;
284301

285-
var symbols = markerOpts.symbol//convertSymbol(markerOpts.symbol, len);
302+
var symbols = convertSymbol(markerOpts.symbol, len);
303+
286304
var colors = convertColorScale(markerOpts, markerOpacity, traceOpacity, len);
287305
var borderSizes = convertNumber(markerOpts.line.width, len);
288306
var borderColors = convertColorScale(markerOpts.line, markerOpacity, traceOpacity, len);
@@ -296,6 +314,7 @@ proto.updateFancy = function(options) {
296314
symbol = symbols[index];
297315
symbolName = symbol.split(/-open|-dot/)[0]
298316
symbolSpec = MARKER_SVG_SYMBOLS[symbolName] || {};
317+
299318
isOpen = isSymbolOpen(symbol);
300319
isDimmed = selIds && !selIds[index];
301320

@@ -318,8 +337,15 @@ proto.updateFancy = function(options) {
318337
// minBorderWidth = (symbolSpec.noBorder || symbolSpec.noFill) ? 0.1 * size : 0;
319338
minBorderWidth = 0
320339

321-
this.scatter.options.sizes[i] = 3.0 * size;
322-
this.scatter.options.markers[i] = symbolSpec.f && symbolSpec.f(40) || null;
340+
this.scatter.options.sizes[i] = 2.0 * size;
341+
342+
//FIXME: add better handler here
343+
if (symbolName === 'circle') {
344+
this.scatter.options.markers[i] = null;
345+
}
346+
else {
347+
this.scatter.options.markers[i] = symbolSpec.f && symbolSpec.f(40) || null;
348+
}
323349
this.scatter.options.borderSizes[i] = 0.5 * ((bw > minBorderWidth) ? bw - minBorderWidth : 0);
324350

325351
var optColors = this.scatter.options.colors
@@ -359,6 +385,7 @@ proto.updateFancy = function(options) {
359385

360386
var bounds = [xaxis._rl[0], yaxis._rl[0], xaxis._rl[1], yaxis._rl[1]];
361387
this.scatter.options.range = bounds;
388+
this.scatter.options.viewport = viewBox
362389

363390
// prevent scatter from resnapping points
364391
this.scatter(this.scatter.options);
@@ -523,7 +550,7 @@ function _convertArray(convert, data, count) {
523550
var convertNumber = convertArray.bind(null, function(x) { return +x; });
524551
var convertColorBase = convertArray.bind(null, str2RGBArray);
525552
var convertSymbol = convertArray.bind(null, function(x) {
526-
return MARKER_SYMBOLS[x] ? x : 'circle';
553+
return MARKER_SVG_SYMBOLS[x] ? x : 'circle';
527554
});
528555

529556
function convertColor(color, opacity, count) {

0 commit comments

Comments
 (0)
0