@visactor/vgrammar-plot 0.7.7 → 0.8.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/circle-packing.d.ts +1 -1
- package/cjs/circle-packing.js.map +1 -1
- package/cjs/plot.js +4 -2
- package/cjs/plot.js.map +1 -1
- package/cjs/sankey.d.ts +1 -1
- package/cjs/sankey.js.map +1 -1
- package/cjs/semantic-mark.d.ts +44 -13
- package/cjs/semantic-mark.js +154 -77
- package/cjs/semantic-mark.js.map +1 -1
- package/cjs/sunburst.d.ts +6 -3
- package/cjs/sunburst.js +4 -1
- package/cjs/sunburst.js.map +1 -1
- package/cjs/tree.d.ts +1 -1
- package/cjs/tree.js.map +1 -1
- package/cjs/treemap.d.ts +6 -3
- package/cjs/treemap.js +4 -1
- package/cjs/treemap.js.map +1 -1
- package/cjs/wordcloud-shape.d.ts +5 -2
- package/cjs/wordcloud-shape.js +4 -1
- package/cjs/wordcloud-shape.js.map +1 -1
- package/cjs/wordcloud.d.ts +5 -2
- package/cjs/wordcloud.js +4 -1
- package/cjs/wordcloud.js.map +1 -1
- package/es/circle-packing.d.ts +1 -1
- package/es/circle-packing.js.map +1 -1
- package/es/plot.js +4 -2
- package/es/plot.js.map +1 -1
- package/es/sankey.d.ts +1 -1
- package/es/sankey.js.map +1 -1
- package/es/semantic-mark.d.ts +44 -13
- package/es/semantic-mark.js +153 -77
- package/es/semantic-mark.js.map +1 -1
- package/es/sunburst.d.ts +6 -3
- package/es/sunburst.js +4 -1
- package/es/sunburst.js.map +1 -1
- package/es/tree.d.ts +1 -1
- package/es/tree.js.map +1 -1
- package/es/treemap.d.ts +6 -3
- package/es/treemap.js +4 -1
- package/es/treemap.js.map +1 -1
- package/es/wordcloud-shape.d.ts +5 -2
- package/es/wordcloud-shape.js +4 -1
- package/es/wordcloud-shape.js.map +1 -1
- package/es/wordcloud.d.ts +5 -2
- package/es/wordcloud.js +4 -1
- package/es/wordcloud.js.map +1 -1
- package/package.json +9 -8
package/es/tree.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tree.ts"],"names":[],"mappings":"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","file":"tree.js","sourcesContent":["import type {\n TreeEncodeChannels,\n WithDefaultEncode,\n PlotTreeEncodeSpec,\n SemanticLabelOption,\n MarkSpec,\n ChannelEncodeType,\n DataSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type { ITextAttribute } from '@visactor/vrender';\n\nexport class TreeSemanticMark extends SemanticMark<PlotTreeEncodeSpec, TreeEncodeChannels> {\n static readonly type = PlotMakType.tree;\n constructor(id?: string | number) {\n super(PlotMakType.tree, id);\n\n if (!Factory.getTransform(PlotMakType.tree)) {\n this._logger.error(\n `Please add this line of code: import { registerTreeTransforms } from 'vgrammar-hierarchy', \n and run registerTreeTransforms() before use tree`\n );\n }\n\n if (!Factory.getGlyph('treePath')) {\n this._logger.error(\n `Please add this line of code: import { registerTreePathGlyph } from '@visactor/vgrammar-core';\n and run registerTreePathGlyph() before use tree`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.symbol;\n }\n\n setDefaultDataTransform(): TransformSpec[] {\n return [\n {\n type: 'tree',\n width: { signal: 'viewWidth' },\n height: { signal: 'viewHeight' },\n nodeKey: this.spec.encode?.node,\n flatten: true\n }\n ];\n }\n\n getDataIdOfLink() {\n return `${this.spec.data?.id ?? this.spec.id}-data-link`;\n }\n\n setMultipleData(): DataSpec[] {\n return [\n {\n id: this.getDataIdOfFiltered(),\n transform: [\n {\n type: 'map',\n all: true,\n callback: (datum: any) => {\n return datum[0].nodes;\n }\n }\n ]\n },\n {\n source: this.getDataIdOfMain(),\n id: this.getDataIdOfLink(),\n transform: [\n {\n type: 'map',\n all: true,\n callback: (datum: any) => {\n // return formatLinkPath(datum[0].links);\n return datum[0].links;\n }\n }\n ]\n }\n ];\n }\n\n parseScaleByEncode(\n channel: TreeEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotTreeEncodeSpec, TreeEncodeChannels>, TreeEncodeChannels>\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotTreeEncodeSpec, TreeEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotTreeEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotTreeEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return datum?.datum ? scale.scale(colorAccessor(datum.datum[datum.datum.length - 1])) : undefined;\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected setLabelTextGetter(\n channel: string,\n option: SemanticLabelOption | boolean\n ): ChannelEncodeType<ITextAttribute['text']> {\n const textGetter = getFieldAccessor(channel);\n return (datum: any, el: IElement, params: any) => {\n return textGetter(datum.datum[datum.datum.length - 1]);\n };\n }\n\n setMainMarkSpec() {\n return { key: 'key' };\n }\n\n setMultiMarksSpec() {\n const label = this.spec.label;\n\n if (!label) {\n return null;\n }\n\n const marks: MarkSpec[] = [];\n\n marks.push({\n type: 'glyph',\n glyphType: 'treePath',\n from: { data: this.getDataIdOfLink() },\n key: 'key',\n zIndex: -1,\n encode: {\n update: {\n x0: { field: 'x0' },\n x1: { field: 'x1' },\n y0: { field: 'y0' },\n y1: { field: 'y1' },\n thickness: 1,\n round: true,\n stroke: '#333'\n }\n }\n });\n\n return marks;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/tree.ts"],"names":[],"mappings":"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","file":"tree.js","sourcesContent":["import type {\n TreeEncodeChannels,\n WithDefaultEncode,\n PlotTreeEncodeSpec,\n SemanticLabelOption,\n MarkSpec,\n ChannelEncodeType,\n DataSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type { ITextAttribute } from '@visactor/vrender-core';\n\nexport class TreeSemanticMark extends SemanticMark<PlotTreeEncodeSpec, TreeEncodeChannels> {\n static readonly type = PlotMakType.tree;\n constructor(id?: string | number) {\n super(PlotMakType.tree, id);\n\n if (!Factory.getTransform(PlotMakType.tree)) {\n this._logger.error(\n `Please add this line of code: import { registerTreeTransforms } from 'vgrammar-hierarchy', \n and run registerTreeTransforms() before use tree`\n );\n }\n\n if (!Factory.getGlyph('treePath')) {\n this._logger.error(\n `Please add this line of code: import { registerTreePathGlyph } from '@visactor/vgrammar-core';\n and run registerTreePathGlyph() before use tree`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.symbol;\n }\n\n setDefaultDataTransform(): TransformSpec[] {\n return [\n {\n type: 'tree',\n width: { signal: 'viewWidth' },\n height: { signal: 'viewHeight' },\n nodeKey: this.spec.encode?.node,\n flatten: true\n }\n ];\n }\n\n getDataIdOfLink() {\n return `${this.spec.data?.id ?? this.spec.id}-data-link`;\n }\n\n setMultipleData(): DataSpec[] {\n return [\n {\n id: this.getDataIdOfFiltered(),\n transform: [\n {\n type: 'map',\n all: true,\n callback: (datum: any) => {\n return datum[0].nodes;\n }\n }\n ]\n },\n {\n source: this.getDataIdOfMain(),\n id: this.getDataIdOfLink(),\n transform: [\n {\n type: 'map',\n all: true,\n callback: (datum: any) => {\n // return formatLinkPath(datum[0].links);\n return datum[0].links;\n }\n }\n ]\n }\n ];\n }\n\n parseScaleByEncode(\n channel: TreeEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotTreeEncodeSpec, TreeEncodeChannels>, TreeEncodeChannels>\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotTreeEncodeSpec, TreeEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotTreeEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotTreeEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return datum?.datum ? scale.scale(colorAccessor(datum.datum[datum.datum.length - 1])) : undefined;\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected setLabelTextGetter(\n channel: string,\n option: SemanticLabelOption | boolean\n ): ChannelEncodeType<ITextAttribute['text']> {\n const textGetter = getFieldAccessor(channel);\n return (datum: any, el: IElement, params: any) => {\n return textGetter(datum.datum[datum.datum.length - 1]);\n };\n }\n\n setMainMarkSpec() {\n return { key: 'key' };\n }\n\n setMultiMarksSpec() {\n const label = this.spec.label;\n\n if (!label) {\n return null;\n }\n\n const marks: MarkSpec[] = [];\n\n marks.push({\n type: 'glyph',\n glyphType: 'treePath',\n from: { data: this.getDataIdOfLink() },\n key: 'key',\n zIndex: -1,\n encode: {\n update: {\n x0: { field: 'x0' },\n x1: { field: 'x1' },\n y0: { field: 'y0' },\n y1: { field: 'y1' },\n thickness: 1,\n round: true,\n stroke: '#333'\n }\n }\n });\n\n return marks;\n }\n}\n"]}
|
package/es/treemap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TreemapEncodeChannels, WithDefaultEncode, PlotTreemapEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, IElement, LabelSpec } from '@visactor/vgrammar-core';
|
|
1
|
+
import type { TreemapEncodeChannels, WithDefaultEncode, PlotTreemapEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, IElement, LabelSpec, InteractionSpec } from '@visactor/vgrammar-core';
|
|
2
2
|
import { SemanticMark } from './semantic-mark';
|
|
3
3
|
import { GrammarMarkType } from '@visactor/vgrammar-core';
|
|
4
4
|
import { PlotMakType } from './enums';
|
|
@@ -12,7 +12,10 @@ export declare class TreemapSemanticMark extends SemanticMark<PlotTreemapEncodeS
|
|
|
12
12
|
setMainMarkSpec(): {
|
|
13
13
|
key: string;
|
|
14
14
|
};
|
|
15
|
-
protected parseLabelSpec():
|
|
15
|
+
protected parseLabelSpec(): {
|
|
16
|
+
marks: LabelSpec[];
|
|
17
|
+
interactions: InteractionSpec[];
|
|
18
|
+
};
|
|
16
19
|
setMultiMarksSpec(): {
|
|
17
20
|
id: string;
|
|
18
21
|
type: string;
|
|
@@ -30,7 +33,7 @@ export declare class TreemapSemanticMark extends SemanticMark<PlotTreemapEncodeS
|
|
|
30
33
|
enter: {
|
|
31
34
|
textAlign: string;
|
|
32
35
|
textBaseline: string;
|
|
33
|
-
} & Partial<import("@visactor/vrender").ITextGraphicAttribute>;
|
|
36
|
+
} & Partial<import("@visactor/vrender-core").ITextGraphicAttribute>;
|
|
34
37
|
update: (datum: any, el: IElement, params: any) => {
|
|
35
38
|
x: number;
|
|
36
39
|
y: number;
|
package/es/treemap.js
CHANGED
package/es/treemap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/treemap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/treemap.ts"],"names":[],"mappings":"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","file":"treemap.js","sourcesContent":["import type {\n TreemapEncodeChannels,\n WithDefaultEncode,\n PlotTreemapEncodeSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement,\n LabelSpec,\n InteractionSpec\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory, SIGNAL_VIEW_BOX } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport type { BaseLabelAttrs } from '@visactor/vrender-components';\n\nexport class TreemapSemanticMark extends SemanticMark<PlotTreemapEncodeSpec, TreemapEncodeChannels> {\n static readonly type = PlotMakType.treemap;\n constructor(id?: string | number) {\n super(PlotMakType.treemap, id);\n\n if (!Factory.getTransform('treemap')) {\n this._logger.error(\n `Please add this line of code: import { registerTreemapTransforms } from 'vgrammar-hierarchy'; \n and run registerTreemapTransforms() before use treemap`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.rect;\n }\n\n setDefaultDataTransform(): TransformSpec[] {\n return [\n {\n type: 'treemap',\n width: { signal: 'viewWidth' },\n height: { signal: 'viewHeight' },\n nodeKey: this.spec.encode?.node,\n flatten: true\n }\n ];\n }\n parseScaleByEncode(\n channel: TreemapEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotTreemapEncodeSpec, TreemapEncodeChannels>, TreemapEncodeChannels>\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotTreemapEncodeSpec, TreemapEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotTreemapEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotTreemapEncodeSpec> = {\n x: { field: 'x0' },\n x1: { field: 'x1' },\n y: { field: 'y0' },\n y1: { field: 'y1' }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return datum?.datum ? scale.scale(colorAccessor(datum.datum[datum.datum.length - 1])) : undefined;\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n setMainMarkSpec() {\n return { key: 'key' };\n }\n\n protected parseLabelSpec() {\n // TODO use arc label in the future\n return { marks: [] as LabelSpec[], interactions: [] as InteractionSpec[] };\n }\n\n setMultiMarksSpec() {\n const label = this.spec.label;\n\n if (!label) {\n return null;\n }\n\n return Object.keys(label).map(key => {\n const textGetter = getFieldAccessor(key);\n return {\n id: `${this.getMarkId()}-text-${key}`,\n type: 'text',\n from: {\n data: this.getDataIdOfFiltered()\n },\n layout: {\n position: 'content',\n skipBeforeLayouted: true\n },\n key: 'flattenIndex',\n dependency: this.viewSpec.scales.map(scale => scale.id).concat(SIGNAL_VIEW_BOX),\n animation: this.convertMarkAnimation(),\n encode: {\n enter: Object.assign(\n {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n (label[key] as Partial<BaseLabelAttrs>).textStyle\n ),\n update: (datum: any, el: IElement, params: any) => {\n return {\n x: datum.labelRect ? (datum.labelRect.x0 + datum.labelRect.x1) / 2 : (datum.x0 + datum.x1) / 2,\n y: datum.labelRect ? (datum.labelRect.y0 + datum.labelRect.y1) / 2 : (datum.y0 + datum.y1) / 2,\n text: textGetter(datum.datum[datum.datum.length - 1])\n };\n }\n }\n };\n });\n }\n}\n"]}
|
package/es/wordcloud-shape.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WordcloudShapeEncodeChannels, WithDefaultEncode, PlotWordcloudShapeEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, LabelSpec } from '@visactor/vgrammar-core';
|
|
1
|
+
import type { WordcloudShapeEncodeChannels, WithDefaultEncode, PlotWordcloudShapeEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, LabelSpec, InteractionSpec } from '@visactor/vgrammar-core';
|
|
2
2
|
import { SemanticMark } from './semantic-mark';
|
|
3
3
|
import { GrammarMarkType } from '@visactor/vgrammar-core';
|
|
4
4
|
import { PlotMakType } from './enums';
|
|
@@ -10,5 +10,8 @@ export declare class WordcloudShapeSemanticMark extends SemanticMark<PlotWordclo
|
|
|
10
10
|
protected setMainMarkEnterEncode(): any;
|
|
11
11
|
parseScaleByEncode(channel: WordcloudShapeEncodeChannels, option: ValueOf<WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>, WordcloudShapeEncodeChannels>): ScaleSpec | Nil;
|
|
12
12
|
convertMarkEncode(encode: WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>): GenerateBaseEncodeSpec<PlotWordcloudShapeEncodeSpec>;
|
|
13
|
-
protected parseLabelSpec():
|
|
13
|
+
protected parseLabelSpec(): {
|
|
14
|
+
marks: LabelSpec[];
|
|
15
|
+
interactions: InteractionSpec[];
|
|
16
|
+
};
|
|
14
17
|
}
|
package/es/wordcloud-shape.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/wordcloud-shape.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,MAAM,OAAO,0BAA2B,SAAQ,YAG/C;IAEC,YAAY,EAAoB;QAC9B,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;;8EAEsE,CACvE,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,uBAAuB;;QACrB,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE;wBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,UAAU,EAAE,CAAC,SAAS,CAAC;iBACxB;gBACD,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE;gBAC5B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;aACxC;SACF,CAAC;IACJ,CAAC;IAES,sBAAsB;QAC9B,OAAO,KAAK,CACV;YACE,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,QAAQ;SACvB,EACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAChB,CAAC;IACJ,CAAC;IAED,kBAAkB,CAChB,OAAqC,EACrC,MAGC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE;oBAChC,KAAK,EAAE,MAAgB;iBACxB;gBACD,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;aACzB,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CACf,MAAqF;;QAErF,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAsD;YAC7D,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACjB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACjB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;YACjC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YACjC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;SACxC,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;SACjC;QAED,IAAI,WAAW,CAAC,KAAK,EAAE;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhE,GAAG,CAAC,IAAI,GAAG,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAG,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,cAAc;QAEtB,OAAO,EAAE,KAAK,EAAE,EAAiB,EAAE,YAAY,EAAE,EAAuB,EAAE,CAAC;IAC7E,CAAC;;AAxGe,+BAAI,GAAG,WAAW,CAAC,cAAc,CAAC","file":"wordcloud-shape.js","sourcesContent":["import type {\n WordcloudShapeEncodeChannels,\n WithDefaultEncode,\n PlotWordcloudShapeEncodeSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement,\n LabelSpec,\n InteractionSpec\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\nimport { merge } from '@visactor/vutils';\n\nexport class WordcloudShapeSemanticMark extends SemanticMark<\n PlotWordcloudShapeEncodeSpec,\n WordcloudShapeEncodeChannels\n> {\n static readonly type = PlotMakType.wordcloudShape;\n constructor(id?: string | number) {\n super(PlotMakType.wordcloudShape, id);\n\n if (!Factory.getTransform(PlotMakType.wordcloudShape)) {\n this._logger.error(\n `Please add this line of code:\n import { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape'; \n and run registerWordCloudShapeTransforms() before use wordcloud-shape`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.text;\n }\n\n setDefaultDataTransform(): TransformSpec[] {\n return [\n {\n type: 'wordcloudShape',\n size: {\n callback: (params: any) => {\n return [params.viewBox.width(), params.viewBox.height()];\n },\n dependency: ['viewBox']\n },\n colorList: this.getPalette(),\n text: { field: this.spec.encode?.text }\n }\n ];\n }\n\n protected setMainMarkEnterEncode() {\n return merge(\n {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n this.spec.style\n );\n }\n\n parseScaleByEncode(\n channel: WordcloudShapeEncodeChannels,\n option: ValueOf<\n WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>,\n WordcloudShapeEncodeChannels\n >\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotWordcloudShapeEncodeSpec, WordcloudShapeEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotWordcloudShapeEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotWordcloudShapeEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' },\n angle: { field: 'angle' },\n fontSize: { field: 'fontSize' },\n fontStyle: { field: 'fontStyle' },\n fontFamily: { field: 'fontFamily' },\n fontWeight: { field: 'fontWeight' },\n fillOpacity: { field: 'opacity' },\n text: { field: this.spec.encode?.text }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return scale.scale(colorAccessor(datum));\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected parseLabelSpec() {\n // TODO use arc label in the future\n return { marks: [] as LabelSpec[], interactions: [] as InteractionSpec[] };\n }\n}\n"]}
|
package/es/wordcloud.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { WordcloudEncodeChannels, WithDefaultEncode, PlotWordcloudEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, LabelSpec } from '@visactor/vgrammar-core';
|
|
1
|
+
import type { WordcloudEncodeChannels, WithDefaultEncode, PlotWordcloudEncodeSpec, GenerateBaseEncodeSpec, Nil, ScaleSpec, ValueOf, TransformSpec, LabelSpec, InteractionSpec } from '@visactor/vgrammar-core';
|
|
2
2
|
import { SemanticMark } from './semantic-mark';
|
|
3
3
|
import { GrammarMarkType } from '@visactor/vgrammar-core';
|
|
4
4
|
import { PlotMakType } from './enums';
|
|
@@ -9,5 +9,8 @@ export declare class WordcloudSemanticMark extends SemanticMark<PlotWordcloudEnc
|
|
|
9
9
|
setDefaultMarkTransform(): TransformSpec[];
|
|
10
10
|
parseScaleByEncode(channel: WordcloudEncodeChannels, option: ValueOf<WithDefaultEncode<PlotWordcloudEncodeSpec, WordcloudEncodeChannels>, WordcloudEncodeChannels>): ScaleSpec | Nil;
|
|
11
11
|
convertMarkEncode(encode: WithDefaultEncode<PlotWordcloudEncodeSpec, WordcloudEncodeChannels>): GenerateBaseEncodeSpec<PlotWordcloudEncodeSpec>;
|
|
12
|
-
protected parseLabelSpec():
|
|
12
|
+
protected parseLabelSpec(): {
|
|
13
|
+
marks: LabelSpec[];
|
|
14
|
+
interactions: InteractionSpec[];
|
|
15
|
+
};
|
|
13
16
|
}
|
package/es/wordcloud.js
CHANGED
package/es/wordcloud.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/wordcloud.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/wordcloud.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,KAAK,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,OAAO,qBAAsB,SAAQ,YAA8D;IAEvG,YAAY,EAAoB;QAC9B,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;YAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB;;mEAE2D,CAC5D,CAAC;SACH;IACH,CAAC;IAED,WAAW;QACT,OAAO,eAAe,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,uBAAuB;;QACrB,OAAO;YACL;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE;oBACJ,QAAQ,EAAE,CAAC,MAAW,EAAE,EAAE;wBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC3D,CAAC;oBACD,UAAU,EAAE,CAAC,SAAS,CAAC;iBACxB;gBACD,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;aACxC;SACF,CAAC;IACJ,CAAC;IACD,kBAAkB,CAChB,OAAgC,EAChC,MAA6G;QAE7G,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5B,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE;oBAChC,KAAK,EAAE,MAAgB;iBACxB;gBACD,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;aACzB,CAAC;SACH;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CACf,MAA2E;;QAE3E,MAAM,WAAW,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEzD,MAAM,GAAG,GAAiD;YACxD,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACjB,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACjB,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YACzB,QAAQ,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;YAC/B,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;YACjC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;YACnC,IAAI,EAAE,EAAE,KAAK,EAAE,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,EAAE;SACxC,CAAC;QAEF,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;SACjC;QAED,IAAI,WAAW,CAAC,KAAK,EAAE;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhE,GAAG,CAAC,IAAI,GAAG,CAAC,KAAU,EAAE,EAAY,EAAE,MAAW,EAAE,EAAE;gBACnD,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC;SACH;aAAM;YACL,GAAG,CAAC,IAAI,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,KAAK,0CAAE,IAAI,mCAAI,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAG,CAAC,CAAC,CAAC;SAC5D;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,cAAc;QAEtB,OAAO,EAAE,KAAK,EAAE,EAAiB,EAAE,YAAY,EAAE,EAAuB,EAAE,CAAC;IAC7E,CAAC;;AAxFe,0BAAI,GAAG,WAAW,CAAC,SAAS,CAAC","file":"wordcloud.js","sourcesContent":["import type {\n WordcloudEncodeChannels,\n WithDefaultEncode,\n PlotWordcloudEncodeSpec,\n GenerateBaseEncodeSpec,\n GenerateEncoderSpec,\n Nil,\n ScaleSpec,\n ValueOf,\n TransformSpec,\n IElement,\n LabelSpec,\n InteractionSpec\n} from '@visactor/vgrammar-core';\nimport { SemanticMark } from './semantic-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { GrammarMarkType, Factory } from '@visactor/vgrammar-core';\nimport { PlotMakType } from './enums';\nimport { field as getFieldAccessor } from '@visactor/vgrammar-util';\n\nexport class WordcloudSemanticMark extends SemanticMark<PlotWordcloudEncodeSpec, WordcloudEncodeChannels> {\n static readonly type = PlotMakType.wordcloud;\n constructor(id?: string | number) {\n super(PlotMakType.wordcloud, id);\n\n if (!Factory.getTransform(PlotMakType.wordcloud)) {\n this._logger.error(\n `Please add this line of code:\n 'import { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud'; \n and run registerWordCloudTransforms() before use wordcloud`\n );\n }\n }\n\n setMarkType() {\n return GrammarMarkType.text;\n }\n\n setDefaultMarkTransform(): TransformSpec[] {\n return [\n {\n type: 'wordcloud',\n size: {\n callback: (params: any) => {\n return [params.viewBox.width(), params.viewBox.height()];\n },\n dependency: ['viewBox']\n },\n text: { field: this.spec.encode?.text }\n }\n ];\n }\n parseScaleByEncode(\n channel: WordcloudEncodeChannels,\n option: ValueOf<WithDefaultEncode<PlotWordcloudEncodeSpec, WordcloudEncodeChannels>, WordcloudEncodeChannels>\n ): ScaleSpec | Nil {\n if (channel === 'color') {\n return {\n type: 'ordinal',\n id: this.getScaleId('color'),\n domain: {\n data: this.getDataIdOfFiltered(),\n field: option as string\n },\n range: this.getPalette()\n };\n }\n\n return null;\n }\n\n convertMarkEncode(\n encode: WithDefaultEncode<PlotWordcloudEncodeSpec, WordcloudEncodeChannels>\n ): GenerateBaseEncodeSpec<PlotWordcloudEncodeSpec> {\n const markEncoder = this.convertSimpleMarkEncode(encode);\n\n const res: GenerateEncoderSpec<PlotWordcloudEncodeSpec> = {\n x: { field: 'x' },\n y: { field: 'y' },\n angle: { field: 'angle' },\n fontSize: { field: 'fontSize' },\n fontStyle: { field: 'fontStyle' },\n fontFamily: { field: 'fontFamily' },\n fontWeight: { field: 'fontWeight' },\n text: { field: this.spec.encode?.text }\n };\n\n if (markEncoder.stroke) {\n res.stroke = markEncoder.stroke;\n }\n\n if (markEncoder.color) {\n const scaleColorId = this.getScaleId('color');\n const colorAccessor = getFieldAccessor(markEncoder.color.field);\n\n res.fill = (datum: any, el: IElement, params: any) => {\n const scale = params[scaleColorId];\n return scale.scale(colorAccessor(datum));\n };\n } else {\n res.fill = this.spec.style?.fill ?? this.getPalette()?.[0];\n }\n\n return res;\n }\n\n protected parseLabelSpec() {\n // TODO use arc label in the future\n return { marks: [] as LabelSpec[], interactions: [] as InteractionSpec[] };\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vgrammar-plot",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0-alpha.0",
|
|
4
4
|
"description": "Plots of vgrammar.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plot",
|
|
@@ -24,13 +24,14 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@visactor/vgrammar-util": "0.
|
|
28
|
-
"@visactor/vgrammar-coordinate": "0.
|
|
29
|
-
"@visactor/vgrammar-core": "0.
|
|
30
|
-
"@visactor/vscale": "~0.16.
|
|
31
|
-
"@visactor/vrender-components": "~0.
|
|
32
|
-
"@visactor/vrender": "~0.
|
|
33
|
-
"@visactor/
|
|
27
|
+
"@visactor/vgrammar-util": "0.8.0-alpha.0",
|
|
28
|
+
"@visactor/vgrammar-coordinate": "0.8.0-alpha.0",
|
|
29
|
+
"@visactor/vgrammar-core": "0.8.0-alpha.0",
|
|
30
|
+
"@visactor/vscale": "~0.16.3",
|
|
31
|
+
"@visactor/vrender-components": "~0.16.1",
|
|
32
|
+
"@visactor/vrender-core": "~0.16.1",
|
|
33
|
+
"@visactor/vrender-kits": "~0.16.1",
|
|
34
|
+
"@visactor/vutils": "~0.16.3"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|
|
36
37
|
"d3-array": "1.x",
|