Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Chart.js Venn and Euler Diagrams

License

NotificationsYou must be signed in to change notification settings

upsetjs/chartjs-chart-venn

Repository files navigation

NPM PackageGithub Actions

Chart.js module for charting venn diagrams with up to five sets. Adding new chart type:venn andeuler.

Sports Venn Diagram

five sets

Related Plugins

Check out also my other chart.js plugins:

Install

npm install --save chart.js chartjs-chart-venn

Usage

seeExamples

or at thisOpen in CodePen

Venn Diagram

Data Structure

constconfig={type:'venn',data:ChartVenn.extractSets([{label:'Soccer',values:['alex','casey','drew','hunter']},{label:'Tennis',values:['casey','drew','jade']},{label:'Volleyball',values:['drew','glen','jade']},],{label:'Sports',}),options:{},};

Alternative data structure

constconfig={type:'venn',data:{labels:['Soccer','Tennis','Volleyball','Soccer ∩ Tennis','Soccer ∩ Volleyball','Tennis ∩ Volleyball','Soccer ∩ Tennis ∩ Volleyball',],datasets:[{label:'Sports',data:[{sets:['Soccer'],value:2},{sets:['Tennis'],value:0},{sets:['Volleyball'],value:1},{sets:['Soccer','Tennis'],value:1},{sets:['Soccer','Volleyball'],value:0},{sets:['Tennis','Volleyball'],value:1},{sets:['Soccer','Tennis','Volleyball'],value:1},],},],},options:{},};

Styling of elements

ArcSlice elements have the basicbackgroundColor,borderColor, andborderWidth properties similar to a regular rectangle.

Styling of labels

Thex scaleticks options are used to configure theset value labels within the intersections.They scaleticks options are used to configure theset label labels next ot the set circles.Changing the tick display options (e.g.scales.x.ticks.display = false) will disable the set value labels.Similarly, its font spec and color are used to the styling of the labels.

Euler Diagram

Euler diagrams are relaxed proportional venn diagrams such that the area of the circles and overlap try to fit the overlapping value.It is a relaxed in a way that is just approximates the proportions using a numerical optimization process.Moreover, only one and two set overlaps are used for the computation.The library usesvenn.js in the background.

Data Structure

constconfig={type:'euler',data:ChartVenn.extractSets([{label:'A',values:[1,2,3,4,11,12,13,14,15,16,17,18]},{label:'B',values:[1,2,3,4,5,6,7,8,9,10,19,20,21,22,23]},{label:'C',values:[1,11,12,4,5,24,25,26,27,28,29,30]},],{label:'Sets',}),options:{},};

Styling of elements

see Venn Diagram

ESM and Tree Shaking

The ESM build of the library supports tree shaking thus having no side effects. As a consequence the chart.js library won't be automatically manipulated nor new controllers automatically registered. One has to manually import and register them.

Variant A:

import{Chart,LinearScale}from'chart.js';import{VennDiagramController,ArcSlice}from'chartjs-chart-venn';Chart.register(VennDiagramController,ArcSlice,LinearScale);...newChart(ctx,{type:VennDiagramController.id,data:[...],});

Variant B:

import{VennDiagramChart}from'chartjs-chart-venn';newVennDiagramChart(ctx,{data:[...],});

Development Environment

npm i -g yarnyarn installyarn sdks vscode

Common commands

yarn compileyarntestyarn lintyarn fixyarn buildyarn docs

[8]ページ先頭

©2009-2025 Movatter.jp