# Line Segment in Plots

**URL:** <https://discourse.julialang.org/t/line-segment-in-plots/55800>\
**Category:** Visualization\
**Tags:** question\
**Created:** [February 22, 2021, 8:17pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800 "2021-02-22T20:17:37Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 8:17pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/1 "2021-02-22T20:17:37Z")

</div>

Is there a way to create a line segment in plots?

```julia
f(x)=2x
plot(f);vline!([f(3), f(4)])

```

How would I get the lines to go from the y origin to f(x) only?

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 9:04pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/2 "2021-02-22T21:04:55Z")

</div>

Use the plot command, passing in separately the x and y coordinates of the points on the line(s).

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 9:07pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/3 "2021-02-22T21:07:10Z")

</div>

```julia
vline!([f(3)],0:f(3))

```

something like that?

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 9:23pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/4 "2021-02-22T21:23:04Z")

</div>

No, as I said, use the `plot` command.

`plot([x1, x2], [y1, y2])`

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 9:28pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/5 "2021-02-22T21:28:42Z")

</div>

ok, I see, x sequence, then y sequence)

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:09pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/6 "2021-02-22T22:09:00Z")

</div>

```julia
f(x)=x^2
plot(f,-1:.001:6)
x=5
for i in 1:10
     n(x)=x-(f(x)/ForwardDiff.derivative(f,x))
     Plots.plot!([n(x),n(x)],[0,f(x)])
end

```

It won’t create verticle lines (which I was able to create with numbers before)

when I run this, it won’t show verticle line, (which I have done with straight numbers

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 10:10pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/7 "2021-02-22T22:10:28Z")

</div>

What does it display?

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:16pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/8 "2021-02-22T22:16:00Z")

</div>

nothing, no error, and no lines

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 10:17pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/9 "2021-02-22T22:17:49Z")

</div>

For loops do not return anything. You need to either give the plot a name and look at the value of that variable, or do plot!() at the end.

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:19pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/10 "2021-02-22T22:19:56Z")

</div>

> [@brett\_knoss](#):
>
> ```julia
> f(x)=x^2
> plot(f,-1:.001:6)
> x=5
> for i in 1:10
> n(x)=x-(f(x)/ForwardDiff.derivative(f,x))
> Plots.plot!([n(x),n(x)],[0,f(x)])
> end
> 
> ```

I did use a quotation mark, I think I need a recursive deffinition of x, or n(x), for it to go towards 0

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:20pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/11 "2021-02-22T22:20:13Z")

</div>

I’m trying to do Newton’s method

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 10:25pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/12 "2021-02-22T22:25:55Z")

</div>

You are not updating x in your loop.,

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:28pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/13 "2021-02-22T22:28:49Z")

</div>

```julia
for i in 1:10
                                       n(x)=x-(f(x)/ForwardDiff.derivative(f,x))
                                       Plots.plot!([n(x),n(x)],[0,f(x)])
                                       x=x-1
       end

```

---

<div class="post-metadata">

**Author:** ![brett\_knoss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/brett_knoss/32/13050_2.png) [@brett\_knoss](https://discourse.julialang.org/u/brett_knoss)\
**Post date:** [February 22, 2021, 10:37pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/14 "2021-02-22T22:37:04Z")

</div>

```julia
 for i in 1:10
             n(x)=x-(f(x)/ForwardDiff.derivative(f,x))
             Plots.plot!([n(x),n(x)],[0,f(n(x))])
             x=n(x)
end

```

---

<div class="post-metadata">

**Author:** ![dpsanders](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dpsanders/32/3573_2.png) [@dpsanders](https://discourse.julialang.org/u/dpsanders)\
**Post date:** [February 22, 2021, 10:44pm UTC](https://discourse.julialang.org/t/line-segment-in-plots/55800/15 "2021-02-22T22:44:47Z")

</div>

And then you need `plot!()` at the end after the `for` loop, as I already said?
