From 393dbba788e77001866e93f5fbbbe9c72558a9a0 Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Thu, 27 Jan 2022 16:17:36 +0300 Subject: [PATCH 1/7] Add new align for X axis new align 'left-right' for options.scales['x'].ticks namespace will allow users to aling ticks: 'start" for first (left) tick and 'end' for last (right) tick --- src/core/core.scale.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 97529e591a9..bcf034683c1 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1206,9 +1206,19 @@ export default class Scale extends Element { const color = optsAtIndex.color; const strokeColor = optsAtIndex.textStrokeColor; const strokeWidth = optsAtIndex.textStrokeWidth; + let tickTextAlign = textAlign; if (isHorizontal) { x = pixel; + + if (textAlign === 'left-right') { + if (i === ilen - 1) { + tickTextAlign = 'right'; + } else { + tickTextAlign = 'left'; + } + } + if (position === 'top') { if (crossAlign === 'near' || rotation !== 0) { textOffset = -lineCount * lineHeight + lineHeight / 2; @@ -1285,7 +1295,7 @@ export default class Scale extends Element { strokeColor, strokeWidth, textOffset, - textAlign, + textAlign: tickTextAlign, textBaseline, translation: [x, y], backdrop, @@ -1309,6 +1319,8 @@ export default class Scale extends Element { align = 'left'; } else if (ticks.align === 'end') { align = 'right'; + } else if (ticks.align === 'left-right') { + align = 'left-right'; } return align; From 932b5b5757577fa474f813e6fdd49eb000ee6186 Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Mon, 31 Jan 2022 20:53:24 +0300 Subject: [PATCH 2/7] corrected name of aligment to "inner", documentation and add test for inner labels --- docs/axes/cartesian/_common_ticks.md | 2 +- src/core/core.scale.js | 8 ++--- .../core.scale/label-align-inner-rotate.js | 34 ++++++++++++++++++ .../core.scale/label-align-inner-rotate.png | Bin 0 -> 17975 bytes test/fixtures/core.scale/label-align-inner.js | 32 +++++++++++++++++ .../fixtures/core.scale/label-align-inner.png | Bin 0 -> 15474 bytes types/index.esm.d.ts | 4 +-- 7 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 test/fixtures/core.scale/label-align-inner-rotate.js create mode 100644 test/fixtures/core.scale/label-align-inner-rotate.png create mode 100644 test/fixtures/core.scale/label-align-inner.js create mode 100644 test/fixtures/core.scale/label-align-inner.png diff --git a/docs/axes/cartesian/_common_ticks.md b/docs/axes/cartesian/_common_ticks.md index aeb3992a0e1..ccc98588dd2 100644 --- a/docs/axes/cartesian/_common_ticks.md +++ b/docs/axes/cartesian/_common_ticks.md @@ -4,7 +4,7 @@ Namespace: `options.scales[scaleId].ticks` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- -| `align` | `string` | `'center'` | The tick alignment along the axis. Can be `'start'`, `'center'`, or `'end'`. +| `align` | `string` | `'center'` | The tick alignment along the axis. Can be `'start'`, `'center'`, `'end'`, or `'inner'`. `inner` alignment means align `start` for first tick and `end` for the last tick of horizontal axis | `crossAlign` | `string` | `'near'` | The tick alignment perpendicular to the axis. Can be `'near'`, `'center'`, or `'far'`. See [Tick Alignment](/axes/cartesian/#tick-alignment) | `sampleSize` | `number` | `ticks.length` | The number of ticks to examine when deciding how many labels will fit. Setting a smaller value will be faster, but may be less accurate when there is large variability in label length. | `autoSkip` | `boolean` | `true` | If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to `maxRotation` before skipping any. Turn `autoSkip` off to show all labels no matter what. diff --git a/src/core/core.scale.js b/src/core/core.scale.js index bcf034683c1..aef9b454b56 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1211,10 +1211,10 @@ export default class Scale extends Element { if (isHorizontal) { x = pixel; - if (textAlign === 'left-right') { + if (textAlign === 'inner') { if (i === ilen - 1) { tickTextAlign = 'right'; - } else { + } else if (i === 0) { tickTextAlign = 'left'; } } @@ -1319,8 +1319,8 @@ export default class Scale extends Element { align = 'left'; } else if (ticks.align === 'end') { align = 'right'; - } else if (ticks.align === 'left-right') { - align = 'left-right'; + } else if (ticks.align === 'inner') { + align = 'inner'; } return align; diff --git a/test/fixtures/core.scale/label-align-inner-rotate.js b/test/fixtures/core.scale/label-align-inner-rotate.js new file mode 100644 index 00000000000..4bdf61b4e51 --- /dev/null +++ b/test/fixtures/core.scale/label-align-inner-rotate.js @@ -0,0 +1,34 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [{ + data: [1, 2, 3], + }], + labels: ['Label1', 'Label2', 'Label3'] + }, + options: { + scales: { + x: { + ticks: { + align: 'inner', + maxRotation: 45, + minRotation: 45 + }, + }, + y: { + ticks: { + align: 'inner', + } + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/label-align-inner-rotate.png b/test/fixtures/core.scale/label-align-inner-rotate.png new file mode 100644 index 0000000000000000000000000000000000000000..d3aca46fa5c9fc4adaf7c4159e8bd7dc8f905d9e GIT binary patch literal 17975 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
d`zu*)!zAUqx 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 literal 0 HcmV?d00001 diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index aa5821c497a..e122f29bc64 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -1654,7 +1654,7 @@ export interface FontSpec { lineHeight: number | string; } -export type TextAlign = 'left' | 'center' | 'right'; +export type TextAlign = 'left' | 'center' | 'right' | 'inner'; export interface VisualElement { draw(ctx: CanvasRenderingContext2D, area?: ChartArea): void; @@ -3027,7 +3027,7 @@ export interface CartesianScaleOptions extends CoreScaleOptions { * The label alignment * @default 'center' */ - align: 'start' | 'center' | 'end'; + align: 'start' | 'center' | 'end' | 'inner'; /** * If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what. * @default true From 3fd05ecddee44a84f53911b73ee01ffba193537d Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Mon, 31 Jan 2022 21:23:02 +0300 Subject: [PATCH 3/7] delete unnecessary changes --- test/fixtures/core.scale/label-align-inner-rotate.js | 5 ----- test/fixtures/core.scale/label-align-inner.js | 5 ----- types/index.esm.d.ts | 2 +- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/test/fixtures/core.scale/label-align-inner-rotate.js b/test/fixtures/core.scale/label-align-inner-rotate.js index 4bdf61b4e51..7cee63a9556 100644 --- a/test/fixtures/core.scale/label-align-inner-rotate.js +++ b/test/fixtures/core.scale/label-align-inner-rotate.js @@ -15,11 +15,6 @@ module.exports = { maxRotation: 45, minRotation: 45 }, - }, - y: { - ticks: { - align: 'inner', - } } } } diff --git a/test/fixtures/core.scale/label-align-inner.js b/test/fixtures/core.scale/label-align-inner.js index db50d598a19..ef62e9b66af 100644 --- a/test/fixtures/core.scale/label-align-inner.js +++ b/test/fixtures/core.scale/label-align-inner.js @@ -13,11 +13,6 @@ module.exports = { ticks: { align: 'inner', }, - }, - y: { - ticks: { - align: 'inner', - } } } } diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index e122f29bc64..52109f9bbaa 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -1654,7 +1654,7 @@ export interface FontSpec { lineHeight: number | string; } -export type TextAlign = 'left' | 'center' | 'right' | 'inner'; +export type TextAlign = 'left' | 'center' | 'right'; export interface VisualElement { draw(ctx: CanvasRenderingContext2D, area?: ChartArea): void; From 84a0637005d502418491821d0c979e15507bf3c8 Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Mon, 7 Feb 2022 11:10:17 +0300 Subject: [PATCH 4/7] corrected logic for reverse axis, add tests for reverse axis and withoutY axis --- src/core/core.scale.js | 14 ++++++-- .../core.scale/label-align-inner-onlyX.js | 30 ++++++++++++++++++ .../core.scale/label-align-inner-onlyX.png | Bin 0 -> 9617 bytes .../core.scale/label-align-inner-reverse.js | 28 ++++++++++++++++ .../core.scale/label-align-inner-reverse.png | Bin 0 -> 13362 bytes .../fixtures/core.scale/label-align-inner.png | Bin 15474 -> 15511 bytes 6 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/core.scale/label-align-inner-onlyX.js create mode 100644 test/fixtures/core.scale/label-align-inner-onlyX.png create mode 100644 test/fixtures/core.scale/label-align-inner-reverse.js create mode 100644 test/fixtures/core.scale/label-align-inner-reverse.png diff --git a/src/core/core.scale.js b/src/core/core.scale.js index aef9b454b56..0e099044cfb 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1213,9 +1213,19 @@ export default class Scale extends Element { if (textAlign === 'inner') { if (i === ilen - 1) { - tickTextAlign = 'right'; + if (!this.options.reverse) { + tickTextAlign = 'right'; + } else { + tickTextAlign = 'left'; + } } else if (i === 0) { - tickTextAlign = 'left'; + if (!this.options.reverse) { + tickTextAlign = 'left'; + } else { + tickTextAlign = 'right'; + } + } else { + tickTextAlign = 'center'; } } diff --git a/test/fixtures/core.scale/label-align-inner-onlyX.js b/test/fixtures/core.scale/label-align-inner-onlyX.js new file mode 100644 index 00000000000..8bd38e64ab6 --- /dev/null +++ b/test/fixtures/core.scale/label-align-inner-onlyX.js @@ -0,0 +1,30 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [{ + data: [1, 2, 3], + }], + labels: ['Label1', 'Label2', 'Label3'] + }, + options: { + scales: { + x: { + ticks: { + align: 'inner', + }, + }, + y: { + display: false + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/label-align-inner-onlyX.png b/test/fixtures/core.scale/label-align-inner-onlyX.png new file mode 100644 index 0000000000000000000000000000000000000000..4002902b4ff089e730e3effae80fcd8d38fbc1fa GIT binary patch literal 9617 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 literal 0 HcmV?d00001 diff --git a/test/fixtures/core.scale/label-align-inner-reverse.js b/test/fixtures/core.scale/label-align-inner-reverse.js new file mode 100644 index 00000000000..d56f6a04fd1 --- /dev/null +++ b/test/fixtures/core.scale/label-align-inner-reverse.js @@ -0,0 +1,28 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [{ + data: [1, 2, 3], + }], + labels: ['Label1', 'Label2', 'Label3'] + }, + options: { + scales: { + x: { + ticks: { + align: 'inner' + }, + reverse: true + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/core.scale/label-align-inner-reverse.png b/test/fixtures/core.scale/label-align-inner-reverse.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d8330bfed196377933fcecc9cf3c25310822f8 GIT binary patch literal 13362 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 literal 15474 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 From 4278d5b7ebcc4171bc9639781d03d28cc9b6fbfc Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Mon, 7 Feb 2022 16:52:40 +0300 Subject: [PATCH 5/7] corrected chart paddings for "inner" tick align --- src/core/core.scale.js | 2 +- .../core.scale/label-align-inner-onlyX.js | 2 +- .../core.scale/label-align-inner-onlyX.png | Bin 9617 -> 8839 bytes .../fixtures/core.scale/label-align-inner.png | Bin 15511 -> 13434 bytes 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 0e099044cfb..02d5f4a0f10 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -705,7 +705,7 @@ export default class Scale extends Element { paddingRight = last.width; } else if (align === 'end') { paddingLeft = first.width; - } else { + } else if (align !== 'inner') { paddingLeft = first.width / 2; paddingRight = last.width / 2; } diff --git a/test/fixtures/core.scale/label-align-inner-onlyX.js b/test/fixtures/core.scale/label-align-inner-onlyX.js index 8bd38e64ab6..a64157c3134 100644 --- a/test/fixtures/core.scale/label-align-inner-onlyX.js +++ b/test/fixtures/core.scale/label-align-inner-onlyX.js @@ -5,7 +5,7 @@ module.exports = { datasets: [{ data: [1, 2, 3], }], - labels: ['Label1', 'Label2', 'Label3'] + labels: ['Label1_long', 'Label2_long', 'Label3_long'] }, options: { scales: { diff --git a/test/fixtures/core.scale/label-align-inner-onlyX.png b/test/fixtures/core.scale/label-align-inner-onlyX.png index 4002902b4ff089e730e3effae80fcd8d38fbc1fa..7d5b039b50290dd960b325613c5c9c4ae686292e 100644 GIT binary patch literal 8839 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 diff --git a/test/fixtures/core.scale/label-align-inner.png b/test/fixtures/core.scale/label-align-inner.png index f510f6c4407cb3d7c97e9789234af2831f9416e9..f420956f6af84e704d52d3f51a74d41dd66e67fd 100644 GIT binary patch literal 13434 zcmZXb2RxPk`~UBAoH#_bWF8cvl4MlIu|-C9CDaLpP$V+WQ7M~}Bs*mbDU@}RRmmu% z%H#P=IP2*^ndRZ}nPsYLn$j`r1B=3wV%&%_Ct2ORf?u(C)$ zd!dypZuv|r%T`wvSHon-NmHj15|wg+oh3^DF?To7D2?lO>7yscY>zTIqlWi0?3fLp zV5bWks|>2HOn!Gw&u~chxfSQ0V_jkA(l@-^Pu=aB{x_xC3xg81gyMB(uR zSYg6nABrxP@IYs8xvg>DSy}p>Qp9XVRu&BUnF*%gD2BFXx%eOo`nelN!4aS2r4Xg| zOyH?vPFa@!bNL|RK1_kzuj-nXRCVcF3zr|o#_~oV7h8FGzRWz!W%yIfSWlV!+R~Jh zublVXrN)F~?7MAz3vm?fy3^ACEWRHTkSz9D;nKmJhsX-tk$s{gPeye1!+qv7 jZ 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 UdhnGV2>d&#X`t~^&Gz>H1ELE=x&QzG literal 15511 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 From 4def5afed62b3caec32698cc4daaf463411449c1 Mon Sep 17 00:00:00 2001 From: Talla2XLC Date: Tue, 8 Feb 2022 11:16:51 +0300 Subject: [PATCH 6/7] code clearness --- src/core/core.scale.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/core/core.scale.js b/src/core/core.scale.js index 02d5f4a0f10..1e79c1d97ef 100644 --- a/src/core/core.scale.js +++ b/src/core/core.scale.js @@ -1213,17 +1213,9 @@ export default class Scale extends Element { if (textAlign === 'inner') { if (i === ilen - 1) { - if (!this.options.reverse) { - tickTextAlign = 'right'; - } else { - tickTextAlign = 'left'; - } + tickTextAlign = !this.options.reverse ? 'right' : 'left'; } else if (i === 0) { - if (!this.options.reverse) { - tickTextAlign = 'left'; - } else { - tickTextAlign = 'right'; - } + tickTextAlign = !this.options.reverse ? 'left' : 'right'; } else { tickTextAlign = 'center'; } From d4bb967b973b67b1abe35088a1dbb3ba7e12baed Mon Sep 17 00:00:00 2001 From: Talla2XLC <50024798+Talla2XLC@users.noreply.github.com> Date: Thu, 10 Feb 2022 19:51:10 +0300 Subject: [PATCH 7/7] Update types/index.esm.d.ts Co-authored-by: Jacco van den Berg <39033624+LeeLenaleee@users.noreply.github.com> --- types/index.esm.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index b660ca86f23..ef51fc59800 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -3033,7 +3033,7 @@ export interface CartesianScaleOptions extends CoreScaleOptions { * The label alignment * @default 'center' */ - align: 'start' | 'center' | 'end' | 'inner'; + align: Align | 'inner'; /** * If true, automatically calculates how many labels can be shown and hides labels accordingly. Labels will be rotated up to maxRotation before skipping any. Turn autoSkip off to show all labels no matter what. * @default true