{"id":17141803,"url":"https://github.com/orsharir/reprochart","last_synced_at":"2025-03-24T08:36:06.570Z","repository":{"id":77383008,"uuid":"91226443","full_name":"orsharir/reprochart","owner":"orsharir","description":"A simple python script for easily reproducible charts","archived":false,"fork":false,"pushed_at":"2017-05-18T11:16:21.000Z","size":76,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T14:11:23.274Z","etag":null,"topics":["chart","data-visualization","graph","python","reproducible-research","research","script"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/orsharir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-14T07:13:02.000Z","updated_at":"2023-10-27T00:55:12.000Z","dependencies_parsed_at":"2023-09-05T16:00:12.081Z","dependency_job_id":null,"html_url":"https://github.com/orsharir/reprochart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orsharir%2Freprochart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orsharir%2Freprochart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orsharir%2Freprochart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/orsharir%2Freprochart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/orsharir","download_url":"https://codeload.github.com/orsharir/reprochart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245237198,"owners_count":20582619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chart","data-visualization","graph","python","reproducible-research","research","script"],"created_at":"2024-10-14T20:27:22.150Z","updated_at":"2025-03-24T08:36:06.546Z","avatar_url":"https://github.com/orsharir.png","language":"Python","readme":"# Reprochart\n\nThis is a simple python script (tested on python 2.7) for easily reproducible charts. The general concept is to augment csv files with a simple header that keeps the configuration of the chart. The script also helps by automatically picking sensible defaults for most options, including colors and line types. The idea came while working on an article, where I was constently updating my data, and had to recreate my charts over and over again.\n\n## Example\n\nLet's assume the csv file is:\n```\nxtitle: \"Probability of Missing Pixels\"\nytitle: \"Test Accuracy (%)\"\nfontsize: 11\nlegendsize: 7.5\nxfontsize: 9\nfigheight: 2.3\nfigwidth: 5.3\n================================\n\"P\",\"KNN\",\"Zero †\",\"Mean †\",\"GSN †\",\"NICE †\",\"DPM †\",\"NADE †\",\"MP-DBM *\",\"CP-CAC\",\"HT-CAC\"\n0.00,96.8,99.2,99.2,99.2,99.2,99.2,99.2,99,96.6,99.0\n0.25,96.7,97.3,98.4,97.4,98.9,99.0,98.7,98,96.4,99.0\n0.50,96.2,88.2,90.9,88.5,97.9,98.2,98.1,97,95.7,98.7\n0.75,94.4,58.6,52.4,51.8,82.6,89.4,95.1,92,92.2,97.7\n0.90,86.4,28.7,21.1,17.7,36.3,47.7,77.6,35,79.8,90.5\n0.95,71.7,19.5,15.6,12.6,20.2,25.7,50.1,18,66.5,76.0\n0.99,29.2,12.6,10.9,10.1,11.7,12.7,13.5,13,31.2,33.0\n```\n\nThen the resulting output is: (for high-res [see here](examples/example1.pdf))\n\n![Example chart](examples/example1.png)\n\n## Usage\n\n```\n./reprochart.py example.csv\n```\n\nThe script takes as input the filename of a csv file. The csv is divided to two parts, seperated by the first line starting with the equal sign character, \"=\". The first part is the header, that contains either empty lines, or lines containing ``\u003ckey\u003e:\u003cvalue\u003e`` pairs. The second part is a standard csv file, and the script assumes that the first row is the labels of each series, the first column represent the values on the x-axis, and the other colmuns each represent a different serie, by specifying the y-values matching the x-axis.\n\nBy default he script saves a pdf image of the resulted chart to ``\u003ccsv-filename\u003e.pdf``, as well as print to stdout the LaTeX table representation. The default filename could be changed with the optional ``--outfile`` flag.\n\n## Supported Key-Value Pairs for Configuration\n\nThe following keys are currently supported (all keys are optional):\n\n * title -- Large title for the chart.\n * xtitle -- Title for the x-axis.\n * ytitle -- Title for the y-axis.\n * figheight -- The height of the figure in points.\n * figwidth -- The width of the figure in points.\n * fontsize -- The global fontsize.\n * xfontsize -- Overrides global fontsize for the x values.\n * yfontsize -- Overrides global fontsize for the y values.\n * xtitlesize -- Overrides global fontsize for the x-axis title.\n * ytitlesize -- Overrides global fontsize for the y-axis title.\n * legendsize -- The size of the legend.\n * xmargin -- The margin from the x-axis.\n * ymargin -- The margin from the y-axis.\n * xlogscale -- If ``\u003cvalue\u003e = true`` then uses log-scale for x-axis.\n * ylogscale -- if ``\u003cvalue\u003e = true`` then uses log-scale for y-axis.\n * ylimmin -- The minimal value for the y-axis.\n * ylimmax -- The maximal value for the y-axis.\n * ynumticks -- The number of ticks in the y-axis.\n * padding -- The amount of padding surrounding the saved figure.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forsharir%2Freprochart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Forsharir%2Freprochart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Forsharir%2Freprochart/lists"}