# Visualisation in Julia

**URL:** <https://discourse.julialang.org/t/visualisation-in-julia/23962>\
**Category:** General Usage\
**Created:** [May 7, 2019, 11:40am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962 "2019-05-07T11:40:18Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 11:40am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/1 "2019-05-07T11:40:18Z")

</div>

Dear All,

I want to use the following plot function from Matlab in Julia.  
I could not find the correct commands of Julia to do this work.

```julia
 subplot(1,1,1)
     pcolor(con), shading interp, ...
     axis('off'), axis('equal'), title('simulation');
 colorbar

 temp=['fig',num2str(jj),'.png']; saveas(gca,temp);

drawnow

```

Thanks a lot for your support in advance!

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 7, 2019, 11:52am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/2 "2019-05-07T11:52:18Z")

</div>

Julia doesn’t have builtin plotting so you would need to use a plotting library (package).

What have you tried so far?

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 12:06pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/3 "2019-05-07T12:06:49Z")

</div>

Hi Kristoffer,

thank your for reply!

I am trying to plot the phase-field value in 2D using FDM, example con := zeros(Float64,32,32)

In Matlab :

```julia
pcolor(con), shading interp

```

this simple command works well.

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 7, 2019, 12:10pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/4 "2019-05-07T12:10:08Z")

</div>

Yeah, but what have you tried in Julia? What plotting packages have you used and what examples of these have you tried to modify to get something that looks like the Matlab plot?

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 12:14pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/5 "2019-05-07T12:14:10Z")

</div>

> [@Aquaman](#):
>
> pcolor

```julia
using PyPlot

M = rand(10, 10)
pcolormesh(M)

```

There are some Issues with PyPlot in MKL Julia, hence, How can I use Plots.jl ?

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [May 7, 2019, 12:15pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/6 "2019-05-07T12:15:13Z")

</div>

Have a look at the Plots.jl examples here: [http://docs.juliaplots.org/latest/examples/gr/](http://docs.juliaplots.org/latest/examples/gr/) and see whether there’s a plot that looks like the one you’re after.

You can use Plots like any other package by doing `using Plots`, by default it will use the GR backend.

---

<div class="post-metadata">

**Author:** ![feanor12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/feanor12/32/8212_2.png) [@feanor12](https://discourse.julialang.org/u/feanor12)\
**Post date:** [May 7, 2019, 12:17pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/7 "2019-05-07T12:17:48Z")

</div>

Use can try the Plots.jl package. This can be installed by typing `] add Plots` in the REPL.

```julia
using Plots
d = rand(5, 5)
p = heatmap(d, aspect_ratio=:equal, axis=false, title="simulation")
# or
p = contour(d, aspect_ratio=:equal, axis=false, title="simulation")
savefig(p, "myplot.png")

```

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 12:19pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/8 "2019-05-07T12:19:29Z")

</div>

Hi @feanor12 @nilshg @kristoffer.carlsson,

many thanks for your support!

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 1:34pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/9 "2019-05-07T13:34:50Z")

</div>

> [@Aquaman](#):
>
> temp=[‘fig’,num2str(jj),‘.png’]; saveas(gca,temp);

how can define the name of file automatically in Julia, i.e.

```julia
 temp=['fig',num2str(jj),'.png']; saveas(gca,temp);

```

> fig1.png  
> fig2.png  
> …  
> fig30.png  
> …

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [May 7, 2019, 1:40pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/10 "2019-05-07T13:40:53Z")

</div>

`savefig(p, "fig"*string(jj)*".png")`

---

<div class="post-metadata">

**Author:** ![Diego\_Javier\_Zea](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/diego_javier_zea/32/1858_2.png) [@Diego\_Javier\_Zea](https://discourse.julialang.org/u/Diego_Javier_Zea)\
**Post date:** [May 7, 2019, 2:52pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/11 "2019-05-07T14:52:43Z")

</div>

[String interpolation](https://docs.julialang.org/en/v1/manual/strings/index.html#string-interpolation-1) is really useful for that:

```julia
savefig(p, "fig$(jj).png")

```

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 5:07pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/12 "2019-05-07T17:07:51Z")

</div>

> [@Diego\_Javier\_Zea](#):
>
> savefig(p, “fig$(jj).png”)

very nice, thank you!

---

<div class="post-metadata">

**Author:** ![cchderrick](https://avatars.discourse-cdn.com/v4/letter/c/ecd19e/32.png) [@cchderrick](https://discourse.julialang.org/u/cchderrick)\
**Post date:** [May 7, 2019, 5:57pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/14 "2019-05-07T17:57:52Z")

</div>

If you really got stuck with plotting using native Julia, as a last resort, you can also use MATLAB to plot directly from Julia using `MATLAB.jl`.

```julia
using MATLAB
mxcall(:subplot,0, "111")
mxcall(:pcolor, 0, con)
mxcall(:shading,0,"interp")
mxcall(:axis,0,"off")
mxcall(:axis,0,"equal")
mxcall(:title,0,"simulation")
mxcall(:colorbar,0)
temp="fig$(jj).png"
@mput temp
mat"saveas(gca,temp)"

```

So basically, `con` is a julia `Array{Float64,2}` it can be used as julia type directly, and `temp` is String, but it need to put into MATLAB session, because Julia can’t hold the gca type, so `saveas(gca,temp)` has to be eval inside MATLAB as an expression.

or just put the data you want to plot into MATLAB session and eval the whole script:

```julia
using MATLAB
temp="fig$(jj).png"
@mput con
@mput temp 
mat"""
subplot(1,1,1)
     pcolor(con), shading interp, ...
     axis('off'), axis('equal'), title('simulation');
 colorbar

saveas(gca,temp);
"""

```

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 7, 2019, 6:50pm UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/15 "2019-05-07T18:50:12Z")

</div>

@cchderrick, thanks a lot, your suggestion is very useful!

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 8, 2019, 7:50am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/16 "2019-05-08T07:50:47Z")

</div>

can we convert the matrices to **.vtu file** very easily in Julia ?

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 8, 2019, 7:59am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/17 "2019-05-08T07:59:05Z")

</div>

[https://github.com/jipolanco/WriteVTK.jl](https://github.com/jipolanco/WriteVTK.jl)

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 8, 2019, 8:02am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/18 "2019-05-08T08:02:47Z")

</div>

it works well, thanks!

---

<div class="post-metadata">

**Author:** ![Aquaman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aquaman/32/6586_2.png) [@Aquaman](https://discourse.julialang.org/u/Aquaman)\
**Post date:** [May 8, 2019, 8:21am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/19 "2019-05-08T08:21:36Z")

</div>

> [@nilshg](#):
>
> “fig"_string(jj)_”

for some special cases, it doesnot work:

```julia
using WriteVTK
 A = rand(100, 100)
vtk_write_array("fig"*string(1)*", A, "my_property_name")

```

**ERROR: syntax: cannot juxtapose string literal**

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [May 8, 2019, 8:23am UTC](https://discourse.julialang.org/t/visualisation-in-julia/23962/20 "2019-05-08T08:23:30Z")

</div>

Even the syntax highlighting in discourse shows your typo. It is a good idea to try a little bit yourself before immediately turning to discourse. Learning how to debug things will help you in the future.
