Skip to content

Commit 3944634

Browse files
committed
Adjust placement of real axis tick labels
Also cleaned up code a little bit.
1 parent e97dccb commit 3944634

File tree

3 files changed

+4
-154
lines changed

3 files changed

+4
-154
lines changed

src/plots/smith/smith.js

Lines changed: 3 additions & 140 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ proto.updateRadialAxis = function(fullLayout, polarLayout) {
390390
};
391391

392392
var transFn2 = function(d) {
393-
return strTranslate(ax.c2p(d.x), 12);
393+
return strTranslate(ax.c2p(d.x), -2);
394394
};
395395

396396
// set special grid path function
@@ -413,31 +413,18 @@ proto.updateRadialAxis = function(fullLayout, polarLayout) {
413413
var labelFns = {};
414414

415415
labelFns.xFn = function(d) {
416-
// var rad = t2g(d);
417-
// return Math.cos(rad) * labelStandoff;
418-
return ax.c2g(d);
416+
return 0;
419417
};
420418

421419
labelFns.yFn = function(d) {
422-
// var rad = t2g(d);
423-
// var ff = Math.sin(rad) > 0 ? 0.2 : 1;
424-
// return -Math.sin(rad) * (labelStandoff + d.fontSize * ff) +
425-
// Math.abs(Math.cos(rad)) * (d.fontSize * MID_SHIFT);
426420
return 0;
427421
};
428422

429423
labelFns.anchorFn = function(d) {
430-
// var rad = t2g(d);
431-
// var cos = Math.cos(rad);
432-
// return Math.abs(cos) < 0.1 ?
433-
// 'middle' :
434-
// (cos > 0 ? 'start' : 'end');
435-
return 'middle';
424+
return 'end';
436425
};
437426

438427
labelFns.heightFn = function(d, a, h) {
439-
// var rad = t2g(d);
440-
// return -0.5 * (1 + Math.sin(rad)) * h;
441428
return 0;
442429
};
443430

@@ -448,14 +435,6 @@ proto.updateRadialAxis = function(fullLayout, polarLayout) {
448435
// var valsClipped = Axes.clipEnds(ax, vals);
449436
var tickSign = Axes.getTickSigns(ax)[2];
450437

451-
// Axes.drawTicks(gd, ax, {
452-
// vals: vals,
453-
// layer: layers['radial-axis'],
454-
// path: Axes.makeTickPath(ax, 0, tickSign),
455-
// transFn: transFn,
456-
// crisp: false
457-
// });
458-
459438
// circular grid lines
460439
Axes.drawGrid(gd, ax, {
461440
vals: [{x: 0.2 }, {x: 0.5 }, {x: 1.0 }, {x: 2.0 }, {x: 5.0 } ],
@@ -517,114 +496,6 @@ proto.updateRadialAxis = function(fullLayout, polarLayout) {
517496
.call(Color.stroke, radialLayout.linecolor);
518497
}
519498

520-
proto._updateRadialAxis = function(fullLayout, polarLayout) {
521-
var _this = this;
522-
var gd = _this.gd;
523-
var layers = _this.layers;
524-
var radius = _this.radius;
525-
var innerRadius = _this.innerRadius;
526-
var cx = _this.cx;
527-
var cy = _this.cy;
528-
var radialLayout = polarLayout.radialaxis;
529-
var a0 = mod(polarLayout.sector[0], 360);
530-
var ax = _this.radialAxis;
531-
var hasRoomForIt = innerRadius < radius;
532-
533-
_this.fillViewInitialKey('radialaxis.angle', radialLayout.angle);
534-
_this.fillViewInitialKey('radialaxis.range', ax.range.slice());
535-
536-
ax.setGeometry();
537-
538-
// rotate auto tick labels by 180 if in quadrant II and III to make them
539-
// readable from left-to-right
540-
//
541-
// TODO try moving deeper in Axes.drawLabels for better results?
542-
if(ax.tickangle === 'auto' && (a0 > 90 && a0 <= 270)) {
543-
ax.tickangle = 180;
544-
}
545-
546-
// easier to set rotate angle with custom translate function
547-
var transFn = function(d) {
548-
return strTranslate(ax.l2p(d.x) + innerRadius, 0);
549-
};
550-
551-
// set special grid path function
552-
var gridPathFn = function(d) {
553-
return _this.pathArc(ax.r2p(d.x) + innerRadius);
554-
};
555-
556-
var newTickLayout = strTickLayout(radialLayout);
557-
if(_this.radialTickLayout !== newTickLayout) {
558-
layers['radial-axis'].selectAll('.xtick').remove();
559-
_this.radialTickLayout = newTickLayout;
560-
}
561-
562-
if(hasRoomForIt) {
563-
ax.setScale();
564-
565-
var vals = Axes.calcTicks(ax);
566-
var valsClipped = Axes.clipEnds(ax, vals);
567-
var tickSign = Axes.getTickSigns(ax)[2];
568-
569-
Axes.drawTicks(gd, ax, {
570-
vals: vals,
571-
layer: layers['radial-axis'],
572-
path: Axes.makeTickPath(ax, 0, tickSign),
573-
transFn: transFn,
574-
crisp: false
575-
});
576-
577-
Axes.drawGrid(gd, ax, {
578-
vals: valsClipped,
579-
layer: layers['radial-grid'],
580-
path: gridPathFn,
581-
transFn: Lib.noop,
582-
crisp: false
583-
});
584-
585-
Axes.drawLabels(gd, ax, {
586-
vals: vals,
587-
layer: layers['radial-axis'],
588-
transFn: transFn,
589-
labelFns: Axes.makeLabelFns(ax, 0)
590-
});
591-
}
592-
593-
// stash 'actual' radial axis angle for drag handlers (in degrees)
594-
var angle = _this.radialAxisAngle = _this.vangles ?
595-
rad2deg(snapToVertexAngle(deg2rad(radialLayout.angle), _this.vangles)) :
596-
radialLayout.angle;
597-
598-
var tLayer = strTranslate(cx, cy);
599-
var tLayer2 = tLayer + strRotate(-angle);
600-
601-
updateElement(
602-
layers['radial-axis'],
603-
hasRoomForIt && (radialLayout.showticklabels || radialLayout.ticks),
604-
{transform: tLayer2}
605-
);
606-
607-
updateElement(
608-
layers['radial-grid'],
609-
hasRoomForIt && radialLayout.showgrid,
610-
{transform: tLayer}
611-
);
612-
613-
updateElement(
614-
layers['radial-line'].select('line'),
615-
hasRoomForIt && radialLayout.showline,
616-
{
617-
x1: innerRadius,
618-
y1: 0,
619-
x2: radius,
620-
y2: 0,
621-
transform: tLayer2
622-
}
623-
)
624-
.attr('stroke-width', radialLayout.linewidth)
625-
.call(Color.stroke, radialLayout.linecolor);
626-
};
627-
628499
proto.updateRadialAxisTitle = function(fullLayout, polarLayout, _angle) {
629500
var _this = this;
630501
var gd = _this.gd;
@@ -780,14 +651,6 @@ proto.updateAngularAxis = function(fullLayout, polarLayout) {
780651
var tickSign = ax.ticks === 'inside' ? -1 : 1;
781652
var pad = (ax.linewidth || 1) / 2;
782653

783-
// Axes.drawTicks(gd, ax, {
784-
// vals: vals,
785-
// layer: layers['angular-axis'],
786-
// path: 'M' + (tickSign * pad) + ',0h' + (tickSign * ax.ticklen),
787-
// transFn: transFn2,
788-
// crisp: false
789-
// });
790-
791654
Axes.drawGrid(gd, ax, {
792655
// vals: vals,
793656
vals: [-5.0, -2.0, -1.0, -0.5, -0.2, 0.2, 0.5, 1.0, 2.0, 5.0].map(function (v) {

src/traces/scattersmith/hover.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,7 @@ function makeHoverPointText(cdi, trace, subplot, pointData) {
4545
}
4646

4747
if(!trace.hovertemplate) {
48-
var parts = hoverinfo.split('+');
49-
50-
if(parts.indexOf('all') !== -1) parts = ['re', 'im', 'text'];
51-
if(parts.indexOf('re') !== -1) textPart(radialAxis, pointData.rLabel);
52-
if(parts.indexOf('im') !== -1) textPart(angularAxis, pointData.thetaLabel);
53-
54-
if(parts.indexOf('text') !== -1 && pointData.text) {
55-
text.push(pointData.text);
56-
delete pointData.text;
57-
}
58-
59-
pointData.extraText = text.join('<br>');
48+
pointData.extraText = cdi.re + ' + ' + cdi.im + 'j';
6049
}
6150
}
6251

src/traces/scattersmith/plot.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ module.exports = function plot(gd, subplot, moduleCalcData) {
4747
} else {
4848
cd.x = gammaTransformReal(re, im);
4949
cd.y = gammaTransformImaginary(re, im);
50-
51-
console.log(cd.im, cd.y, 2.0 / cd.im);
5250
}
5351
}
5452
}

0 commit comments

Comments
 (0)