# Error in plotting

**URL:** <https://discourse.julialang.org/t/error-in-plotting/83968>\
**Category:** General Usage\
**Created:** [July 8, 2022, 7:40pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968 "2022-07-08T19:40:31Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 7:40pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/1 "2022-07-08T19:40:31Z")

</div>

I’m trying to plotting something. This is my code

> x = 1:20  
> y = m1[1,:]  
> plot(x,y)

Here y is a vector. And I want to plot the elements of this vector with x values = [1:20]. And I got the error

> MethodError: objects of type Plots.Plot{Plots.GRBackend} are not callable  
> Stacktrace:  
> [1] top-level scope  
> @ In[412]:3  
> [2] eval  
> @ ./boot.jl:373 [inlined]  
> [3] include\_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)  
> @ Base ./loading.jl:1196

How to fix this error?

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [July 8, 2022, 7:46pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/2 "2022-07-08T19:46:29Z")

</div>

I assume that you saved a previous plot under the variable name `plot`. But that happened to overwrite the `plot` function so now Julia complains that you can’t call a Plot object. You could probably get it back by doing `plot = Plots.plot`.

---

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 7:51pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/3 "2022-07-08T19:51:11Z")

</div>

I used `Plots.scatter(x,y)` and I get points. But what I want is a line. There is no plot variable name `plot`.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [July 8, 2022, 7:52pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/4 "2022-07-08T19:52:01Z")

</div>

Aren’t we debugging why `plot(x, y)` didn’t work? You said nothing about `scatter` 🙂

---

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 7:59pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/5 "2022-07-08T19:59:12Z")

</div>

plot(x,y) didn’t work so I tried Plots.scatter(x,y) 🤣

---

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 8:00pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/6 "2022-07-08T20:00:27Z")

</div>

And I tried plot = Plots.plot, got `BoundsError: attempt to access 20-element UnitRange{Int64} at index [1:35] ` error.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [July 8, 2022, 8:15pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/7 "2022-07-08T20:15:20Z")

</div>

Ok now that is really weird, why is it even indexing anything? Id just restart the session and try again, I see no reason why your first code shouldn’t work

---

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 8:20pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/8 "2022-07-08T20:20:06Z")

</div>

y is a 35-element vector. Is this the reason?

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [July 8, 2022, 8:26pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/9 "2022-07-08T20:26:27Z")

</div>

Oh so you got the error after you used the reassigned plot, ok now it makes sense. Yes you can’t plot two vectors of different length, x is 20 long and y 35. What did you expect would be displayed in that case? 🙂

---

<div class="post-metadata">

**Author:** ![JosieG](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/josieg/32/36221_2.png) [@JosieG](https://discourse.julialang.org/u/JosieG)\
**Post date:** [July 8, 2022, 8:53pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/10 "2022-07-08T20:53:40Z")

</div>

Well, what I want is similar with the plot below, but I want a line connecting these points in the plot.  
 ![Screen Shot 2022-07-08 at 4.53.31 PM](https://global.discourse-cdn.com/julialang/original/3X/3/b/3b02116d76a26984ae2446e6e154d57fc3542330.png)

---

<div class="post-metadata">

**Author:** ![Alec\_Loudenback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alec_loudenback/32/278_2.png) [@Alec\_Loudenback](https://discourse.julialang.org/u/Alec_Loudenback)\
**Post date:** [July 8, 2022, 9:56pm UTC](https://discourse.julialang.org/t/error-in-plotting/83968/11 "2022-07-08T21:56:39Z")

</div>

Instead of `Plots.scatter(x,y)` (creates a scatterplot), try `Plots.plot(x,y)` (creates a lineplot).
