hemicycle 0.4.1

SDKflutter
Platformandroidioswindowslinuxmacosweb

Draw a semi-circle dotted representation. It is designed for displaying groups in an Assembly per sector, or individual votes.

The purpose of this Flutter package is to draw a full-width (embed in Container to resize) representation of a semi-circle assembly... The number of dots is up to you, by default 577 as for the French National Assembly.

ImageImage
DrawHemicycle groupes parlementaires France 2022DrawHemicycle législatives France 2022

Features

You can change the number of seats, the arc of the circle (by default, 170°) and, with the specific type of inputs, you can display individual voters or sectors for group appearance...

Usage

Create a List<GroupSectors> containing every sectors you want to draw.

    List<GroupSectors> hemicycleTest = [
      GroupSectors(30, customVoteFor, description: "BEFORE"),
      GroupSectors(50, customVoteAgainst, description: "NEW"),
      GroupSectors(497, customVoteAbstention, description: "AFTER")
    ];
    
    DrawHemicycle(
        30 + 50 + 497,
        nbRows: ((30 + 50 + 497) / 50).ceil(),
        groupSectors: hemicycleTest,
        withLegend: true,
        withTitle: true,
        title: "TEST",
    );

OR

Create a List<IndividualVotes> containing every individual vote you want to draw.

    List<IndividualVotes> votesTest = [
        IndividualVotes(33, voteResult: true, groupPairing: "AAA"),
        IndividualVotes(34, voteResult: true, groupPairing: "AAA"),
        IndividualVotes(35, voteResult: false, groupPairing: "AAA"),
        IndividualVotes(36, voteResult: true, groupPairing: "AAA"),
        IndividualVotes(37, voteResult: false, groupPairing: "AAA"),
        IndividualVotes(88, voteResult: true, groupPairing: "MMM"),
        IndividualVotes(89, voteResult: false, groupPairing: "MMM"),
        IndividualVotes(90, voteResult: false, groupPairing: "MMM"),
        IndividualVotes(122, voteResult: false, groupPairing: "ZZZ"),
        IndividualVotes(123, voteResult: false, groupPairing: "ZZZ"),
        IndividualVotes(124, voteResult: true, groupPairing: "ZZZ"),
        IndividualVotes(126, voteResult: true, groupPairing: "ZZZ"),
    ];

    DrawHemicycle(200,
        nbRows: 8, individualVotes: votesTest, withLegend: true);

Then use DrawHemicycle to get the semi-circle assembly representation.

ImageImage
Example group sectorsExample individual votes

Additional information

Further infos soon ;-)