Julia 编程 - 绘图

Julia 有各种用于绘图的软件包,在开始绘图之前,我们需要首先下载并安装其中一些软件包,如下所示 −

(@v1.5) pkg> add Plots PyPlot GR UnicodePlots

Plots是一个高级绘图包,也称为与其他绘图包的"后端"接口。 要开始使用 Plots 包,请输入以下命令 −

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]

Plotting a function

为了绘制函数,我们需要切换回 PyPlot 后端,如下所示−

  julia> pyplot()
Plots.PyPlotBackend()

这里我们将绘制时间图的方程,可以通过以下函数建模 −

julia> eq(d) = -7.65 * sind(d) + 9.87 * sind(2d + 206);
julia> plot(eq, 1:365)
sys:1: MatplotlibDeprecationWarning: Passing the fontdict parameter of _set_ticklabels() positionally is deprecated since Matplotlib 3.3; the parameter will become keyword-only two minor releases later.
sys:1: UserWarning: FixedFormatter should only be used together with FixedLocator
绘制函数

Packages

每个人都想要一个可以帮助他们通过文本而不是图形快速绘制绘图的软件包。

UnicodePlots

Julia 提供了一个名为 UnicodePlots 的此类包,它可以生成以下内容 −

  • 散点图

  • 线图

  • 条形图

  • 阶梯图

  • 直方图

  • 稀疏模式

  • 密度图

我们可以通过以下命令将其添加到我们的 Julia 安装中 −

(@v1.5) pkg> add UnicodePlots

添加后,我们可以使用它来绘制图表,如下所示:

julia> using UnicodePlots

示例

以下 Julia 示例使用 UnicodePlots 生成折线图。

julia> FirstLinePlot = lineplot([1, 2, 3, 7], [1, 2, -5, 7], title="First Line Plot", border=:dotted) First Line Plot
UnicodePlots

示例

以下 Julia 示例使用 UnicodePlots 生成密度图表。

Julia> using UnicodePlots
Julia> FirstDensityPlot = densityplot(collect(1:100), randn(100), border=:dotted)
UnicodePlots1

VegaLite

这个 Julia 包是一个可视化语法,它允许我们在 Web 浏览器窗口中创建可视化。 有了这个包,我们可以 −

  • 以 JSON 格式描述数据可视化

  • 使用 HTML5 Canvas 或 SVG 生成交互式视图

它可以产生以下结果 −

  • 面积图

  • 条形图/直方图

  • 线图

  • 散点图

  • 饼图/圆环图

  • 瀑布图

我们可以通过以下命令将其添加到我们的 Julia 安装中 −

(@v1.5) pkg> add VegaLite

添加后,我们可以使用它来绘制图表,如下所示 −

julia> using VegaLite

示例

以下 Julia 示例使用 VegaLite 生成饼图。

julia> X = ["Monday", "Tuesday", "Wednesday", "Thrusday", "Friday","Saturday","Sunday"];

julia> Y = [11, 11, 15, 13, 12, 13, 10]
7-element Array{Int64,1}:
 11
 11
 15
 13
 12
 13
 10
 
 
julia> P = pie(X,Y)
VegaLite