Interactive Layout-Aware Construction of Bespoke Charts
Перейти к файлу
Ilfat Galiev ade06dd85b
Merge branch 'master' into feature/categorical-gridlines
2021-09-07 12:38:30 +03:00
.github GitHub workflow config (#393) 2021-02-02 06:29:21 -08:00
.vscode Run prettify for all files (#290) 2020-07-29 09:54:41 -07:00
docs/images Internal tech documentation (#237) 2020-07-01 06:37:03 -07:00
public Unify solver interface to create configurable application (#475) 2021-03-30 05:05:58 -07:00
public_test Unify solver interface to create configurable application (#475) 2021-03-30 05:05:58 -07:00
resources/icons Virtual scroll (#709) 2021-08-30 16:45:47 -07:00
sass Update dataset/table view 2021-08-24 14:21:13 +03:00
src Merge branch 'master' into feature/categorical-gridlines 2021-09-07 12:38:30 +03:00
.eslintignore Fluent UI (#541) 2021-05-20 08:07:23 -07:00
.eslintrc.js Fluent UI (#541) 2021-05-20 08:07:23 -07:00
.gitignore Fixed legend ordering button 2021-09-03 14:28:22 +03:00
.prettierignore Allow to move panels to right (#332) 2020-10-22 12:01:01 -07:00
LICENSE Add licenses (#39) 2018-09-06 12:02:35 -07:00
README.md Internal tech documentation (#237) 2020-07-01 06:37:03 -07:00
THIRD_PARTY.yml Added some basic polish, and added some theming 2018-07-24 17:01:38 -07:00
build.js use DartSass instead of LibSass (#387) 2021-01-20 21:01:06 -08:00
config.template.yml Show static save button (#468) 2021-03-22 09:31:02 -07:00
header.txt Add licenses (#39) 2018-09-06 12:02:35 -07:00
package.json Increase version number to 2.1.0 (#650) 2021-08-09 11:32:55 -07:00
tsconfig.json Scale pane (#215) 2020-05-04 08:33:03 -07:00
tslint.json Fluent UI (#541) 2021-05-20 08:07:23 -07:00
typedoc.json Internal tech documentation (#237) 2020-07-01 06:37:03 -07:00
webpack.config.js Virtual scroll (#709) 2021-08-30 16:45:47 -07:00
yarn.lock Update packages 2021-08-10 18:15:19 +03:00

README.md

Build Status

Charticulator

Charticulator is a new charting tool that allows you to design charts by interactively specifying constraints.

Project Team

Build

Follow the following steps to prepare a development environment:

Install node modules:

yarn

Copy the template configuration file and edit its contents:

cp config.template.yml config.yml
# (on windows, use copy instead of cp)

Run the following command to build Charticulator, which will create a self contained bundle in the dist folder:

yarn build

Run a local web server to test Charticulator:

# Serve Charticulator at http://localhost:4000
yarn server

# Serve Charticulator publicly at http://0.0.0.0:4000
# Use this if you want to enable access from another computer
yarn public_server

Development

For a live development environment, keep the following command running:

yarn start

This command watches for any change in src/ and sass/, and recompiles Charticulator automatically. Once this up, open http://localhost:4000/ to launch Charticulator. Now when you change the source code, the app can be updated by simply refreshing the browser page (you may need to disable browser cache).

In development mode, there is a test application for UI components, which can be accessed at http://localhost:4000/test.html.

The watch mode won't update when you change the following:

  • config.yml
  • THIRD_PARTY.yml
  • webpack.config.js

When you update these, please do yarn build again.

Sample Datasets

You can add custom sample datasets that can be used with Charticulator. To do so, create a datasets folder at the root of the repository(if it doesn't exist), add your .csv (or .tsv) to that folder, and finally create a files.json file in the folder with the following contents:

[
    {
        "name": "<Your dataset display name>",
        "description": "<Your dataset desription>",
        "tables": [
            {
                "name": "<Your dataset file name without extension>",
                "type": "<csv || tsv>",
                "url": "<Your dataset file name with extension>"
            }
        ]
    }
]

Testing

Charticulator currently include a rudimentary test code:

yarn test

More test cases are needed.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Documentation

Run yarn typedoc to generate documentation pages. The page will be awailable in ./docs/charticulator

Start point of documentation is index page {@link "index"}