# unicode_plot.rb **Repository Path**: lichsword/unicode_plot.rb ## Basic Information - **Project Name**: unicode_plot.rb - **Description**: No description available - **Primary Language**: Ruby - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-12 - **Last Updated**: 2024-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UnicodePlot - Plot your data by Unicode characters UnicodePlot provides the feature to make charts with Unicode characters. ## Documentation https://red-data-tools.github.io/unicode_plot.rb/ ## Install ```console $ gem install unicode_plot ``` ## Usage ```ruby require 'unicode_plot' x = 0.step(3*Math::PI, by: 3*Math::PI / 30) y_sin = x.map {|xi| Math.sin(xi) } y_cos = x.map {|xi| Math.cos(xi) } plot = UnicodePlot.lineplot(x, y_sin, name: "sin(x)", width: 40, height: 10) UnicodePlot.lineplot!(plot, x, y_cos, name: "cos(x)") plot.render ``` You can get the results below by running the above script: ## Supported charts ### barplot ```ruby UnicodePlot.barplot(data: {'foo': 20, 'bar': 50}, title: "Bar").render ``` ### boxplot ```ruby UnicodePlot.boxplot(data: {foo: [1, 3, 5], bar: [3, 5, 7]}, title: "Box").render ``` ### densityplot ```ruby x = Array.new(500) { 20*rand - 10 } + Array.new(500) { 6*rand - 3 } y = Array.new(1000) { 30*rand - 10 } UnicodePlot.densityplot(x, y, title: "Density").render ``` ### histogram ```ruby x = Array.new(100) { rand(10) } + Array.new(100) { rand(30) + 10 } UnicodePlot.histogram(x, title: "Histogram").render ``` ### lineplot See [Usage](#usage) section above. ### scatterplot ```ruby x = Array.new(50) { rand(20) - 10 } y = x.map {|xx| xx*rand(30) - 10 } UnicodePlot.scatterplot(x, y, title: "Scatter").render ``` ## Acknowledgement This library is strongly inspired by [UnicodePlot.jl](https://github.com/Evizero/UnicodePlots.jl). ## License MIT License ## Author - [Kenta Murata](https://github.com/mrkn)