Skip to content

Commit 3925d6d

Browse files
committed
make parcoord font size dflt scale linearly with global font
- N.B. this keeps the 10px default
1 parent a8e444a commit 3925d6d

File tree

3 files changed

+41
-12
lines changed

3 files changed

+41
-12
lines changed

src/traces/parcoords/attributes.js

+9-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ var fontAttrs = require('../../plots/font_attributes');
1717
var extendDeep = require('../../lib/extend').extendDeep;
1818
var extendFlat = require('../../lib/extend').extendFlat;
1919

20-
2120
module.exports = {
2221

2322
domain: {
@@ -49,9 +48,15 @@ module.exports = {
4948
}
5049
},
5150

52-
labelfont: extendFlat({}, fontAttrs, {dflt: {size: 10}, description: 'Sets the font for the `dimension` labels.'}),
53-
tickfont: extendFlat({}, fontAttrs, {dflt: {size: 10}, description: 'Sets the font for the `dimension` tick values.'}),
54-
rangefont: extendFlat({}, fontAttrs, {dflt: {size: 10}, description: 'Sets the font for the `dimension` range values.'}),
51+
labelfont: extendFlat({}, fontAttrs, {
52+
description: 'Sets the font for the `dimension` labels.'
53+
}),
54+
tickfont: extendFlat({}, fontAttrs, {
55+
description: 'Sets the font for the `dimension` tick values.'
56+
}),
57+
rangefont: extendFlat({}, fontAttrs, {
58+
description: 'Sets the font for the `dimension` range values.'
59+
}),
5560

5661
dimensions: {
5762
_isLinkedToArray: 'dimension',

src/traces/parcoords/defaults.js

+11-7
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,6 @@ function dimensionsDefaults(traceIn, traceOut) {
8181
return dimensionsOut;
8282
}
8383

84-
function coerceFont(fontAttr, coerce, layoutFont, defaultFont) {
85-
Lib.coerceFont(coerce, fontAttr, Lib.extendFlat({}, layoutFont, defaultFont, fontAttr));
86-
}
87-
8884
module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout) {
8985
function coerce(attr, dflt) {
9086
return Lib.coerce(traceIn, traceOut, attributes, attr, dflt);
@@ -101,7 +97,15 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
10197
traceOut.visible = false;
10298
}
10399

104-
coerceFont('labelfont', coerce, layout.font, attributes.labelfont.dflt || {});
105-
coerceFont('tickfont', coerce, layout.font, attributes.tickfont.dflt || {});
106-
coerceFont('rangefont', coerce, layout.font, attributes.rangefont.dflt || {});
100+
// make default font size 10px,
101+
// scale linearly with global font size
102+
var fontDflt = {
103+
family: layout.font.family,
104+
size: Math.round(layout.font.size * (10 / 12)),
105+
color: layout.font.color
106+
};
107+
108+
Lib.coerceFont(coerce, 'labelfont', fontDflt);
109+
Lib.coerceFont(coerce, 'tickfont', fontDflt);
110+
Lib.coerceFont(coerce, 'rangefont', fontDflt);
107111
};

test/jasmine/tests/parcoords_test.js

+21-1
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,34 @@ describe('parcoords initialization tests', function() {
3838
expect(gd._fullData[0].opacity).toBeUndefined();
3939
});
4040

41+
it('should use global font as label, tick and range font defaults', function() {
42+
var gd = Lib.extendDeep({}, mock1);
43+
gd.layout.font = {
44+
family: 'Gravitas',
45+
size: 20,
46+
color: 'blue'
47+
};
48+
49+
Plots.supplyDefaults(gd);
50+
51+
var expected = {
52+
family: 'Gravitas',
53+
size: 17,
54+
color: 'blue'
55+
};
56+
57+
expect(gd._fullData[0].labelfont).toEqual(expected);
58+
expect(gd._fullData[0].tickfont).toEqual(expected);
59+
expect(gd._fullData[0].rangefont).toEqual(expected);
60+
});
4161
});
4262

4363
describe('parcoords defaults', function() {
4464

4565
function _supply(traceIn) {
4666
var traceOut = { visible: true },
4767
defaultColor = '#444',
48-
layout = { };
68+
layout = { font: Plots.layoutAttributes.font };
4969

5070
Parcoords.supplyDefaults(traceIn, traceOut, defaultColor, layout);
5171

0 commit comments

Comments
 (0)