# Blurry plots (in Jupyterlab and VSCode)

**URL:** <https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132>\
**Category:** New to Julia\
**Tags:** question, plotting\
**Created:** [October 14, 2025, 8:47am UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132 "2025-10-14T08:47:51Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![xujc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xujc/32/214263_2.png) [@xujc](https://discourse.julialang.org/u/xujc)\
**Post date:** [October 14, 2025, 8:47am UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/1 "2025-10-14T08:47:51Z")

</div>

I tried to plot in Julia with the following code:

```julia-auto
using Pkg; Pkg.activate(".")
using Plots; 
plot(0:0.1:2π, sin, 
    xlabel="Xlabel [units]", ylabel="Ylabel [units]")

```

But the figure looks blurry, in either Jupyterlab or VSCode.  
By the way, if I switch to the `pythonplot()` backend, the figure looks fine.

I tried everything without a solution. (version: Julia v1.12.0; Plots v1.41.1)

 ![Screenshot 2025-10-14 at 16.40.29](https://global.discourse-cdn.com/julialang/original/3X/2/f/2ff7412197d3085f6670667bbf75956b85745e1a.png)

---

<div class="post-metadata">

**Author:** ![Donald](https://avatars.discourse-cdn.com/v4/letter/d/ac8455/32.png) [@Donald](https://discourse.julialang.org/u/Donald)\
**Post date:** [October 14, 2025, 4:30pm UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/2 "2025-10-14T16:30:09Z")

</div>

Are you zoomed in more than 100% with your web browser? That can produce this effect.

---

<div class="post-metadata">

**Author:** ![xujc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xujc/32/214263_2.png) [@xujc](https://discourse.julialang.org/u/xujc)\
**Post date:** [October 15, 2025, 12:57am UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/3 "2025-10-15T00:57:18Z")

</div>

No, it is not zoomed with browser.

With python kernel and matplotlib, one can run  
`%config InlineBackend.figure_format = 'retina'`  
to make the figures ‘clear’. I am wondering if there is a similar way in Julia & GR.

---

<div class="post-metadata">

**Author:** ![bspanoghe](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/bspanoghe/32/209460_2.png) [@bspanoghe](https://discourse.julialang.org/u/bspanoghe)\
**Post date:** [October 21, 2025, 9:14am UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/4 "2025-10-21T09:14:09Z")

</div>

Perhaps too obvious, but have you tried increasing the dpi?  
i.e. `plot(0:0.1:2π, sin, xlabel="Xlabel [units]", ylabel="Ylabel [units]", dpi = 600)`

---

<div class="post-metadata">

**Author:** ![xujc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xujc/32/214263_2.png) [@xujc](https://discourse.julialang.org/u/xujc)\
**Post date:** [October 21, 2025, 1:29pm UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/5 "2025-10-21T13:29:35Z")

</div>

Yes, increasing the dpi indeed works (dpi=300 or even 200 is enough).  
But I am wondering if there is a method to make it ‘permanent’ so that one don’t need to write ‘dpi=300’ every time.

---

<div class="post-metadata">

**Author:** ![barucden](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/barucden/32/26154_2.png) [@barucden](https://discourse.julialang.org/u/barucden)\
**Post date:** [October 21, 2025, 1:47pm UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/6 "2025-10-21T13:47:13Z")

</div>

This looks relevant: [Where is the right place to put default settings for Plots.jl - #3 by rafael.guerra](https://discourse.julialang.org/t/where-is-the-right-place-to-put-default-settings-for-plots-jl/76149/3)

---

<div class="post-metadata">

**Author:** ![xujc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xujc/32/214263_2.png) [@xujc](https://discourse.julialang.org/u/xujc)\
**Post date:** [October 21, 2025, 3:03pm UTC](https://discourse.julialang.org/t/blurry-plots-in-jupyterlab-and-vscode/133132/7 "2025-10-21T15:03:24Z")

</div>

Thank you so much!  
I know there could be a `startup.jl` file, but I didn’t know about ‘PLOTS\_DEFAULTS’. I thought something about dpi in the startup file would mess us with other backends (since pythonplot() backend works fine).
