{"id":13815247,"url":"https://github.com/vaaaaanquish/cloudia","last_synced_at":"2025-08-21T18:33:01.058Z","repository":{"id":45831942,"uuid":"259605802","full_name":"vaaaaanquish/cloudia","owner":"vaaaaanquish","description":"Tools to easily create a word cloud","archived":false,"fork":false,"pushed_at":"2020-12-28T03:11:23.000Z","size":354,"stargazers_count":115,"open_issues_count":10,"forks_count":11,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-14T07:20:45.563Z","etag":null,"topics":[],"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/vaaaaanquish.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"vaaaaanquish"}},"created_at":"2020-04-28T10:33:11.000Z","updated_at":"2024-01-04T16:45:20.000Z","dependencies_parsed_at":"2022-09-22T02:51:51.263Z","dependency_job_id":null,"html_url":"https://github.com/vaaaaanquish/cloudia","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaaaanquish%2Fcloudia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaaaanquish%2Fcloudia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaaaanquish%2Fcloudia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaaaaanquish%2Fcloudia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaaaaanquish","download_url":"https://codeload.github.com/vaaaaanquish/cloudia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230107320,"owners_count":18174232,"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":[],"created_at":"2024-08-04T04:03:12.167Z","updated_at":"2024-12-20T03:09:14.627Z","avatar_url":"https://github.com/vaaaaanquish.png","language":"Python","funding_links":["https://github.com/sponsors/vaaaaanquish"],"categories":["Python"],"sub_categories":[],"readme":"# Cloudia\nTools to easily create a word cloud.\n\n  \n### from string\n\nfrom str or List[str]\n```\nfrom cloudia import Cloudia\n\ntext1 = \"text data...\"\ntext2 = \"text data...\"\n\n# from str\nCloudia(text1).plot()\n\n# from list\nCloudia([text1, text2]).plot()\n```\n \nexample from : [20 Newsgroups](http://qwone.com/~jason/20Newsgroups/)\n\n![sample_img](https://github.com/vaaaaanquish/cloudia/blob/021a6d151fb6a3b579dc96b7086356fc0c225852/examples/img/sample_img.png?raw=true, \"sample_img\")\n  \n\nWe can also make it from Tuple.\n```\nfrom cloudia import Cloudia\n\ntext1 = \"text data...\"\ntext2 = \"text data...\"\nCloudia([ (\"cloudia 1\", text1), (\"cloudia 2\", text2) ]).plot()\n```\nTuple is (\"IMAGE TITLE\", \"TEXT\").  \n  \n  \n### from pandas\n\nWe can use pandas.\n\n```\ndf = pd.DataFrame({'wc1': ['sample1','sample2'], 'wc2': ['hoge hoge piyo piyo fuga', 'hoge']})\n\n# plot from df\nCloudia(df).plot()\n\n# add df method\ndf.wc.plot(dark_theme=True)\n```\n\nfrom pandas.DataFrame or pandas.Series.\n\n![pandas_img](https://github.com/vaaaaanquish/cloudia/blob/021a6d151fb6a3b579dc96b7086356fc0c225852/examples/img/pandas_img.png?raw=true, \"pandas_img\")\n![dark_img](https://github.com/vaaaaanquish/cloudia/blob/021a6d151fb6a3b579dc96b7086356fc0c225852/examples/img/dark_img.png?raw=true, \"dark_img\")\n  \nWe can use Tuple too.\n```\nCloudia( (\"IMAGE TITLE\", pd.Series(['hoge'])) ).plot()\n```\n  \n  \n### from japanese\n\nWe can process Japanese too.\n```\ntext = \"これはCloudiaのテストです。WordCloudをつくるには本来、形態素解析の導入が必要になります。Cloudiaはmecabのような形態素解析器の導入は必要はなくnagisaを利用した動的な生成を行う事ができます。nagisaとjapanize-matplotlibは、形態素解析を必要としてきたWordCloud生成に対して、Cloudiaに対して大きく貢献しました。ここに感謝の意を述べたいと思います。\"\n\nCloudia(text).plot()\n```\n\nfrom japanese without morphological analysis module.  \n  \n![japanese_img](https://github.com/vaaaaanquish/cloudia/blob/021a6d151fb6a3b579dc96b7086356fc0c225852/examples/img/japanese_img.png?raw=true, \"jap_img\")  \n  \nNo need to introduce morphological analysis.\n  \n  \n# Install\n\n```\npip install cloudia\n```\n  \n  \n# Args\n\nCloudia args.\n```\nCloudia(\n  data,    # text data\n  single_words=[],    # It's not split word list, example: [\"neural network\"]\n  stop_words=STOPWORDS,    # not count words, default is wordcloud.STOPWORDS\n  extract_postags=['名詞', '英単語', 'ローマ字文'],    # part of speech for japanese\n  parse_func=None,    # split text function, example: lambda x: x.split(',')\n  multiprocess=True,    # Flag for using multiprocessing\n  individual=False    # flag for ' '.join(word) with parse \n)\n```\n  \n  \nplot method args.\n```\nCloudia().plot(\n    dark_theme=False,    # color theme\n    title_size=12,     # title text size\n    row_num=3,    # for example, 12 wordcloud, row_num=3 -\u003e 4*3image\n    figsize_rate=2    # figure size rate\n)\n```\n\nsave method args.\n```\nCloudia().save(\n    file_path,    # save figure image path\n    dark_theme=False,\n    title_size=12, \n    row_num=3,\n    figsize_rate=2\n)\n```\n\npandas.DataFrame, pandas.Series wc.plot method args.\n```\nDataFrame.wc.plot(\n  single_words=[],    # It's not split word list, example: [\"neural network\"]\n  stop_words=STOPWORDS,    # not count words, default is wordcloud.STOPWORDS\n  extract_postags=['名詞', '英単語', 'ローマ字文'],    # part of speech for japanese\n  parse_func=None,    # split text function, example: lambda x: x.split(',')\n  multiprocess=True,    # Flag for using multiprocessing\n  individual=False,    # flag for ' '.join(word) with parse \n  dark_theme=False,    # color theme\n  title_size=12,     # title text size\n  row_num=3,    # for example, 12 wordcloud, row_num=3 -\u003e 4*3image\n  figsize_rate=2    # figure size rate\n)\n```\nIf we use wc.save, setting file_path args.\n  \n  \n# Thanks\n\n- [japanize-matplotlib](https://github.com/uehara1414/japanize-matplotlib)\n- [nagisa](https://github.com/taishi-i/nagisa)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaaaaanquish%2Fcloudia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaaaaanquish%2Fcloudia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaaaaanquish%2Fcloudia/lists"}