服务器安装julia_Julia | 终端上的绘图库: UnicodePlots

通常我们想象中的数据图表是色彩鲜艳,至少是这样的:

8ec844b2094b501a134545f19766c739.png

显然,这无法在终端上上做到。终端看起来只能显示字符,但是,能否用字符来绘制图表呢?UnicodePlots 在这方面作出了一点努力,可以在终端中显示出图表。

建议在 Linux 上,或者 Mac 上实验,终端支持多色更佳。

UnicodePlots 安装

在 REPL 中输入 ],进入包管理模式,接着输入 addUnicodePlots

功能简介

plt = lineplot([-1, 2, 3, 7], [-1, 2, 9, 4], title = "Example Plot", name = "my line", xlabel = "x", ylabel = "y")

d211fcfd0ce4f016bf868dc8d30c33de.png

还能选择其它的画布 Canvas,对于需要打印(想不开的时候)出来的时候,使用 AsciiCanvasDotCanvas或者 BlockCanvas 可能会有更好的效果。

lineplot([-1, 2, 3, 7], [-1, 2, 9, 4], title = "Example Plot", name = "my line", xlabel = "x", ylabel = "y", canvas = DotCanvas, border = :ascii)

685473ba1571100ffec445a6ec9d4836.png

Julia 约定了加 ! 结尾的函数名可能会修改传入的形参。类似 MATLAB,可以使用 lineplot! 在原有的图表上新增曲线:

lineplot!(plt, [0, 4, 8], [10, 1, 10], color = :blue, name = "other line")

0e3fc0cfc2931f050cb472184db4123c.png

示例

散点图(ScatterPlot)

scatterplot(randn(50), randn(50), title = "My Scatterplot")

8026beaf967deb7d40e34e24d79a312e.png

折线图(Lineplot)

除了简单的绘制点,还能传递函数:

plt = lineplot([cos, sin], -π/2, 2π)

de319e8ec328fcdcfb9d644647908252.png

梯状图(Staircase Plot)

stairs([1, 2, 4, 7, 8], [1, 3, 4, 2, 7], color = :red, style = :post, title = "My Staircase Plot")

f8d9fadf7ed302ce607ad7d19b8c92a7.png

条形图(Barplot)(水平)

barplot(["Paris", "New York", "Moskau", "Madrid"],

       [2.244, 8.406, 11.92, 3.165],

       title = "Population")

a1c57f4154b2ca622be1c134b4ebef7c.png

也可以传递一个字典,但是字典的键值对是无序的,这点上需要注意:

julia> d = Dict("paris" => 2.244, "New York" => 8.406, "Moskau" => 11.92, "Madrid" => 3.16);

julia> barplot(d, title = "Population")

30db2d39413750edb17da2a877bb36a2.png

直方图(Histogram)(水平)

histogram(randn(1000) .* 0.1, nbins = 15, closed = :left)

aa547222d8ea8d14a4cea720d5435055.png

箱线图(Boxplot)(水平)

boxplot([1,3,3,4,6,10])

箱线图由5个数值组成:最小值、下四分位数、中位数、上四分位数、最大值。

28ea4ddd6b8fece47473c5d663cef9c7.png

稀疏分布

using SparseArrays

spy(sprandn(50, 120, .05))

稀疏数组包含足够多的零,在标准库中提供了 SparseArrays,会将它存在特殊的数据结构中,从而节省空间和执行时间。

502537125add1a3a54699c9bf18e2be5.png

密度图

julia> densityplot(randn(1000), randn(1000))

a94c9e0d19bea376969ac15d73738e70.png

最后

对于字符图画,可能熟悉 Linux 操作朋友并不陌生,很多 Linux 软件启动时都带有类似的字符图画,但是用来绘制图表,不失为一种很有趣的尝试。这样在某些没有界面的服务器上折腾的时候,也可以适当做一些简单的可视化操作,不再是纯粹的字符。

最后娱乐一下,如果是使用 Linux 或 Mac OSX的话呢,可以在终端输入curl wttr.in

0f64c509fd44709ae6251d100b28b101.png

人类,还是很有趣的嘛~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值