{"id":16252225,"url":"https://github.com/jsfehler/renpy-radarchart","last_synced_at":"2025-03-19T20:31:12.268Z","repository":{"id":36144437,"uuid":"40448443","full_name":"jsfehler/renpy-radarchart","owner":"jsfehler","description":"Plugin to allow the creation of radar charts on Ren'Py screens","archived":false,"fork":false,"pushed_at":"2024-04-01T02:17:53.000Z","size":365,"stargazers_count":20,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-28T20:55:16.803Z","etag":null,"topics":["python","renpy"],"latest_commit_sha":null,"homepage":null,"language":"Ren'Py","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/jsfehler.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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":"2015-08-09T19:52:04.000Z","updated_at":"2024-09-03T21:48:16.000Z","dependencies_parsed_at":"2024-10-28T09:08:58.279Z","dependency_job_id":null,"html_url":"https://github.com/jsfehler/renpy-radarchart","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsfehler%2Frenpy-radarchart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsfehler%2Frenpy-radarchart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsfehler%2Frenpy-radarchart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jsfehler%2Frenpy-radarchart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jsfehler","download_url":"https://codeload.github.com/jsfehler/renpy-radarchart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244018746,"owners_count":20384625,"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":["python","renpy"],"created_at":"2024-10-10T15:12:51.049Z","updated_at":"2025-03-19T20:31:11.825Z","avatar_url":"https://github.com/jsfehler.png","language":"Ren'Py","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Screenshot](/screenshot0001.png?raw=true \"Screenshot\")\n\n# Radar Chart for Ren'Py\nRen'Py Displayable for plotting data onto a radar chart\n\n- radarchart.rpy: Contains the RadarChart classes. Drop this file into a Ren'Py project directory.\n- script.rpy: Usage examples.\n- example_screens.rpy: Example screens for the examples.\n\n### Running the Demo\nJust drop script.rpy, example_screens.rpy, and radarchart.rpy into a new Ren'Py project's 'game' directory and try it out.\n\n### Getting Started\nThis guide assumes you have basic familiarity with Ren'Py labels and screens.\n\n##### Necessary Files:\nPlace radarchart.rpy into your project's 'game' directory\n\n##### Creating a Radar Chart:\nTo create a chart, first you'll need some data to plot, such as:\n\n    COOL_VALUE = 200\n    BEAUTY_VALUE = 110\n    CUTE_VALUE = 90\n    SMART_VALUE = 67\n    TOUGH_VALUE = 100\n\nThe data should be created inside a label.\n\nA chart's data should then be gathered in a tuple:\n\n    plot_values = (COOL_VALUE, BEAUTY_VALUE, CUTE_VALUE, SMART_VALUE, TOUGH_VALUE)\n\nThe number of items in the tuple will automatically determine how many points the RadarChart has.\n\nNext, create a RadarChart instance:\n\n    rc = RadarChart(\n        size=200,\n        values=plot_values,\n        max_value=255,\n        labels=[Text(\"Coolness\"), Text(\"Beauty\"), Text(\"Cuteness\"), Text(\"Intelligence\"), Text(\"Strength\")],\n        lines={\"webs\": [2, 4, 6, 8]},\n        data_colour=(100, 200, 100, 125),\n        line_colour=(153, 153, 153, 255),\n        background_colour=(255, 255, 255, 255)\n    )\n\nThe RadarChart should be created inside a python block, inside a label.\n\n##### Updating a Radar Chart\nTo update or change the values in a RadarChart object, simply assign RadarChart.values a new tuple. \n\nFor example, if COOL_VALUE has increased:\n\n    COOL_VALUE = 210\n    rc.values = (COOL_VALUE, BEAUTY_VALUE, CUTE_VALUE, SMART_VALUE, TOUGH_VALUE)\n\n### Documentation\n- class RadarChart\n    - Arguments:\n        - size (int): Width \u0026 height of the chart\n        - values (list[int]): All the values to chart on the plot\n        - max_value (int): The largest number a value should have\n        - labels(list[displayable]): All the labels for each value\n        - lines(dict): Properties for which lines to draw:\n            {\n                \"chart\":True,\n                \"data\":True                \n                \"spokes\":True, \n                \"webs\":[int], # 1-9 allowed. represents 10%, 20%, etc\n            }\n        - break_limit(bool): If any value can exceed max_value or not\n        - data_colour: RGBA tuple or HEX string\n        - line_colour: RGBA tuple or HEX string\n        - background_colour: RGBA tuple or HEX string\n        - point (displayable): Displayable at each value's tip\n        - visible (dict): Properties for which pieces of the RadarChart\n            should be visible:\n            {\n                \"base\": True, \n                \"data\": True,\n                \"lines\": True, \n                \"points\": True, \n                \"labels\": True\n            }    \n\n    - Attributes:\n        - chart_base: Displayable for the chart's base\n        - chart_data: Displayable for the chart's data\n        - chart_lines: Displayable for the chart's spokes and webs\n        - chart_points: Displayable for the chart's points\n        - chart_labels: Displayable for the chart's labels\n    \n    - chart_labels.l_padding (int): Padding between the labels and chart for left-aligned labels\n    - chart_labels.r_padding (int): Padding between the labels and chart for right-aligned labels\n    - chart_labels.c_padding (int): Padding between the labels and chart for center-aligned labels\n    \n### License \u0026 Usage\nThe pretty icons used in the examples are from https://icons8.com/\n\nAll the code is under the MIT license, just like Ren'Py. Do whatever you want with it.\n\nIf you use this in a game, I'd appreciate getting credit for it, or at least a link back to this repo somewhere.\n\nIf you need any sort of new feature and/or enhancement, create a new issue on Github and I'll see what I can do.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsfehler%2Frenpy-radarchart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjsfehler%2Frenpy-radarchart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjsfehler%2Frenpy-radarchart/lists"}