How can I make a curved graph in Tikz and vertical lines from the x-axis to that graph?
up vote
2
down vote
favorite
I am basically trying to make this figure in Tikz only better, but I can't figure out how to make the vertical lines from the x-axis to the graphs M(x). The function is M(x)=−1/2·q·x^2+1/2·q·L·x, where the values of q and L doesn't matter in the first place.
(The figure is made in Maple 2018. It hints at the mistakes made in the vertical lines.)
tikz-pgf graphs vertical addlines
add a comment |
up vote
2
down vote
favorite
I am basically trying to make this figure in Tikz only better, but I can't figure out how to make the vertical lines from the x-axis to the graphs M(x). The function is M(x)=−1/2·q·x^2+1/2·q·L·x, where the values of q and L doesn't matter in the first place.
(The figure is made in Maple 2018. It hints at the mistakes made in the vertical lines.)
tikz-pgf graphs vertical addlines
1
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Use aycomb
plot.
– Torbjørn T.
Nov 10 at 15:09
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am basically trying to make this figure in Tikz only better, but I can't figure out how to make the vertical lines from the x-axis to the graphs M(x). The function is M(x)=−1/2·q·x^2+1/2·q·L·x, where the values of q and L doesn't matter in the first place.
(The figure is made in Maple 2018. It hints at the mistakes made in the vertical lines.)
tikz-pgf graphs vertical addlines
I am basically trying to make this figure in Tikz only better, but I can't figure out how to make the vertical lines from the x-axis to the graphs M(x). The function is M(x)=−1/2·q·x^2+1/2·q·L·x, where the values of q and L doesn't matter in the first place.
(The figure is made in Maple 2018. It hints at the mistakes made in the vertical lines.)
tikz-pgf graphs vertical addlines
tikz-pgf graphs vertical addlines
edited Nov 10 at 23:12
Peter Mortensen
53136
53136
asked Nov 10 at 14:56
Mikkel AAU
162
162
1
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Use aycomb
plot.
– Torbjørn T.
Nov 10 at 15:09
add a comment |
1
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Use aycomb
plot.
– Torbjørn T.
Nov 10 at 15:09
1
1
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Use a
ycomb
plot.– Torbjørn T.
Nov 10 at 15:09
Use a
ycomb
plot.– Torbjørn T.
Nov 10 at 15:09
add a comment |
4 Answers
4
active
oldest
votes
up vote
3
down vote
accepted
This is a very 'hacky' solution, and I'm sure some people will be able to give you a more elegant answer, but this definitely works!
I also like it because it's been a very broadly applicable technique for me (especially using intersections).
MWE:
documentclass{article}
usepackage{amsmath}
usepackage{tikz}
usetikzlibrary{calc,intersections}
begin{document}
begin{tikzpicture}
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[name path = C] (0,0) .. controls (3,6) and (5,6) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
foreach i in {0,0.5,...,8}{
draw[draw opacity = 0, name path = L] (i,0)--(i,6);
draw [name intersections ={of = L and C}] let p1 = (intersection-1) in (x1,y1)--(x1,0);
}
end{tikzpicture}
end{document}
Output:
PS: If you need the curve to look differently, just edit the code for draw[name path = C]...
. For instance, by changing it to:
draw[name path = C] (0,0) .. controls (2,4) and (6,4) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
you get this (which is closer to your original image). I illustrated this just in case you wanted to see a sample of how to draw curves. :)
add a comment |
up vote
6
down vote
As I mention in a comment, a ycomb
plot can be used for this. Here are two examples, the first a modified version of marmot's code, the second a more verbose (and probably more complicated than it needs to be) version using pgfplots
.
documentclass[border=5mm]{standalone}
usepackage{pgfplots}
pgfplotsset{compat=1.3}
begin{document}
begin{tikzpicture}[
declare function={
M(x) = 4-(x-4)*(x-4)/4;
}
]
draw[latex-latex] (0,6) node[left] {$mathbf{M}$} |- (8.5,0) node[below]
{$mathbf{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{M(x)});
draw[thick] plot[variable=x,domain=0:8,ycomb] ({x},{M(x)});
end{tikzpicture}
begin{tikzpicture}
begin{axis}[
declare function={
t = 2;
mid = 5;
d=4.5;
M(x) = -(x-mid)^2*(t/d^2) + t;
},
axis lines=middle,
xtick=empty, ytick=empty,
ylabel=$M$, xlabel=$L$,
enlarge x limits,
enlarge y limits={value=0.5,upper},
domain=mid-d:mid+d
]
addplot [thick] {M(x)} node[midway, above] {$M_{max} = frac{1}{8} qL$};
addplot [ycomb, samples=15] {M(x)};
end{axis}
end{tikzpicture}
end{document}
add a comment |
up vote
5
down vote
Here is one more possibility: use a pattern
. And if you use clip
, as suggested by @nidhin, I'd use a grid rather than a foreach loop. In fact, if you use foreach
, since the function is known, you do not need clip
.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{patterns}
usepackage{amsmath}
begin{document}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick,pattern=vertical lines] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
end{tikzpicture}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
clip plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
draw (0,0) grid[xstep=1cm,ystep=6cm] (8,5);
end{tikzpicture}
end{document}
add a comment |
up vote
4
down vote
Using clip
documentclass{standalone}
usepackage{amsmath}
usepackage{tikz}
begin{document}
begin{tikzpicture}[>=latex]
draw(4,5) node {$M_{max} = dfrac18 cdot q cdot L^2$};
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[clip] (0,0) .. controls (3,6) and (5,6) .. (8,0) --cycle;
foreach i in {0,0.5,...,8}
draw (i,0) -- ++ (0,10);
end{tikzpicture}
end{document}
add a comment |
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
3
down vote
accepted
This is a very 'hacky' solution, and I'm sure some people will be able to give you a more elegant answer, but this definitely works!
I also like it because it's been a very broadly applicable technique for me (especially using intersections).
MWE:
documentclass{article}
usepackage{amsmath}
usepackage{tikz}
usetikzlibrary{calc,intersections}
begin{document}
begin{tikzpicture}
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[name path = C] (0,0) .. controls (3,6) and (5,6) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
foreach i in {0,0.5,...,8}{
draw[draw opacity = 0, name path = L] (i,0)--(i,6);
draw [name intersections ={of = L and C}] let p1 = (intersection-1) in (x1,y1)--(x1,0);
}
end{tikzpicture}
end{document}
Output:
PS: If you need the curve to look differently, just edit the code for draw[name path = C]...
. For instance, by changing it to:
draw[name path = C] (0,0) .. controls (2,4) and (6,4) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
you get this (which is closer to your original image). I illustrated this just in case you wanted to see a sample of how to draw curves. :)
add a comment |
up vote
3
down vote
accepted
This is a very 'hacky' solution, and I'm sure some people will be able to give you a more elegant answer, but this definitely works!
I also like it because it's been a very broadly applicable technique for me (especially using intersections).
MWE:
documentclass{article}
usepackage{amsmath}
usepackage{tikz}
usetikzlibrary{calc,intersections}
begin{document}
begin{tikzpicture}
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[name path = C] (0,0) .. controls (3,6) and (5,6) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
foreach i in {0,0.5,...,8}{
draw[draw opacity = 0, name path = L] (i,0)--(i,6);
draw [name intersections ={of = L and C}] let p1 = (intersection-1) in (x1,y1)--(x1,0);
}
end{tikzpicture}
end{document}
Output:
PS: If you need the curve to look differently, just edit the code for draw[name path = C]...
. For instance, by changing it to:
draw[name path = C] (0,0) .. controls (2,4) and (6,4) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
you get this (which is closer to your original image). I illustrated this just in case you wanted to see a sample of how to draw curves. :)
add a comment |
up vote
3
down vote
accepted
up vote
3
down vote
accepted
This is a very 'hacky' solution, and I'm sure some people will be able to give you a more elegant answer, but this definitely works!
I also like it because it's been a very broadly applicable technique for me (especially using intersections).
MWE:
documentclass{article}
usepackage{amsmath}
usepackage{tikz}
usetikzlibrary{calc,intersections}
begin{document}
begin{tikzpicture}
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[name path = C] (0,0) .. controls (3,6) and (5,6) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
foreach i in {0,0.5,...,8}{
draw[draw opacity = 0, name path = L] (i,0)--(i,6);
draw [name intersections ={of = L and C}] let p1 = (intersection-1) in (x1,y1)--(x1,0);
}
end{tikzpicture}
end{document}
Output:
PS: If you need the curve to look differently, just edit the code for draw[name path = C]...
. For instance, by changing it to:
draw[name path = C] (0,0) .. controls (2,4) and (6,4) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
you get this (which is closer to your original image). I illustrated this just in case you wanted to see a sample of how to draw curves. :)
This is a very 'hacky' solution, and I'm sure some people will be able to give you a more elegant answer, but this definitely works!
I also like it because it's been a very broadly applicable technique for me (especially using intersections).
MWE:
documentclass{article}
usepackage{amsmath}
usepackage{tikz}
usetikzlibrary{calc,intersections}
begin{document}
begin{tikzpicture}
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[name path = C] (0,0) .. controls (3,6) and (5,6) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
foreach i in {0,0.5,...,8}{
draw[draw opacity = 0, name path = L] (i,0)--(i,6);
draw [name intersections ={of = L and C}] let p1 = (intersection-1) in (x1,y1)--(x1,0);
}
end{tikzpicture}
end{document}
Output:
PS: If you need the curve to look differently, just edit the code for draw[name path = C]...
. For instance, by changing it to:
draw[name path = C] (0,0) .. controls (2,4) and (6,4) .. (8,0) node[pos = 0.5, above] {$M_{max} = dfrac{1}{8} cdot q cdot L^2$};
you get this (which is closer to your original image). I illustrated this just in case you wanted to see a sample of how to draw curves. :)
edited Nov 10 at 15:18
answered Nov 10 at 15:12
Thevesh Theva
513114
513114
add a comment |
add a comment |
up vote
6
down vote
As I mention in a comment, a ycomb
plot can be used for this. Here are two examples, the first a modified version of marmot's code, the second a more verbose (and probably more complicated than it needs to be) version using pgfplots
.
documentclass[border=5mm]{standalone}
usepackage{pgfplots}
pgfplotsset{compat=1.3}
begin{document}
begin{tikzpicture}[
declare function={
M(x) = 4-(x-4)*(x-4)/4;
}
]
draw[latex-latex] (0,6) node[left] {$mathbf{M}$} |- (8.5,0) node[below]
{$mathbf{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{M(x)});
draw[thick] plot[variable=x,domain=0:8,ycomb] ({x},{M(x)});
end{tikzpicture}
begin{tikzpicture}
begin{axis}[
declare function={
t = 2;
mid = 5;
d=4.5;
M(x) = -(x-mid)^2*(t/d^2) + t;
},
axis lines=middle,
xtick=empty, ytick=empty,
ylabel=$M$, xlabel=$L$,
enlarge x limits,
enlarge y limits={value=0.5,upper},
domain=mid-d:mid+d
]
addplot [thick] {M(x)} node[midway, above] {$M_{max} = frac{1}{8} qL$};
addplot [ycomb, samples=15] {M(x)};
end{axis}
end{tikzpicture}
end{document}
add a comment |
up vote
6
down vote
As I mention in a comment, a ycomb
plot can be used for this. Here are two examples, the first a modified version of marmot's code, the second a more verbose (and probably more complicated than it needs to be) version using pgfplots
.
documentclass[border=5mm]{standalone}
usepackage{pgfplots}
pgfplotsset{compat=1.3}
begin{document}
begin{tikzpicture}[
declare function={
M(x) = 4-(x-4)*(x-4)/4;
}
]
draw[latex-latex] (0,6) node[left] {$mathbf{M}$} |- (8.5,0) node[below]
{$mathbf{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{M(x)});
draw[thick] plot[variable=x,domain=0:8,ycomb] ({x},{M(x)});
end{tikzpicture}
begin{tikzpicture}
begin{axis}[
declare function={
t = 2;
mid = 5;
d=4.5;
M(x) = -(x-mid)^2*(t/d^2) + t;
},
axis lines=middle,
xtick=empty, ytick=empty,
ylabel=$M$, xlabel=$L$,
enlarge x limits,
enlarge y limits={value=0.5,upper},
domain=mid-d:mid+d
]
addplot [thick] {M(x)} node[midway, above] {$M_{max} = frac{1}{8} qL$};
addplot [ycomb, samples=15] {M(x)};
end{axis}
end{tikzpicture}
end{document}
add a comment |
up vote
6
down vote
up vote
6
down vote
As I mention in a comment, a ycomb
plot can be used for this. Here are two examples, the first a modified version of marmot's code, the second a more verbose (and probably more complicated than it needs to be) version using pgfplots
.
documentclass[border=5mm]{standalone}
usepackage{pgfplots}
pgfplotsset{compat=1.3}
begin{document}
begin{tikzpicture}[
declare function={
M(x) = 4-(x-4)*(x-4)/4;
}
]
draw[latex-latex] (0,6) node[left] {$mathbf{M}$} |- (8.5,0) node[below]
{$mathbf{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{M(x)});
draw[thick] plot[variable=x,domain=0:8,ycomb] ({x},{M(x)});
end{tikzpicture}
begin{tikzpicture}
begin{axis}[
declare function={
t = 2;
mid = 5;
d=4.5;
M(x) = -(x-mid)^2*(t/d^2) + t;
},
axis lines=middle,
xtick=empty, ytick=empty,
ylabel=$M$, xlabel=$L$,
enlarge x limits,
enlarge y limits={value=0.5,upper},
domain=mid-d:mid+d
]
addplot [thick] {M(x)} node[midway, above] {$M_{max} = frac{1}{8} qL$};
addplot [ycomb, samples=15] {M(x)};
end{axis}
end{tikzpicture}
end{document}
As I mention in a comment, a ycomb
plot can be used for this. Here are two examples, the first a modified version of marmot's code, the second a more verbose (and probably more complicated than it needs to be) version using pgfplots
.
documentclass[border=5mm]{standalone}
usepackage{pgfplots}
pgfplotsset{compat=1.3}
begin{document}
begin{tikzpicture}[
declare function={
M(x) = 4-(x-4)*(x-4)/4;
}
]
draw[latex-latex] (0,6) node[left] {$mathbf{M}$} |- (8.5,0) node[below]
{$mathbf{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{M(x)});
draw[thick] plot[variable=x,domain=0:8,ycomb] ({x},{M(x)});
end{tikzpicture}
begin{tikzpicture}
begin{axis}[
declare function={
t = 2;
mid = 5;
d=4.5;
M(x) = -(x-mid)^2*(t/d^2) + t;
},
axis lines=middle,
xtick=empty, ytick=empty,
ylabel=$M$, xlabel=$L$,
enlarge x limits,
enlarge y limits={value=0.5,upper},
domain=mid-d:mid+d
]
addplot [thick] {M(x)} node[midway, above] {$M_{max} = frac{1}{8} qL$};
addplot [ycomb, samples=15] {M(x)};
end{axis}
end{tikzpicture}
end{document}
answered Nov 10 at 16:38
Torbjørn T.
153k13245433
153k13245433
add a comment |
add a comment |
up vote
5
down vote
Here is one more possibility: use a pattern
. And if you use clip
, as suggested by @nidhin, I'd use a grid rather than a foreach loop. In fact, if you use foreach
, since the function is known, you do not need clip
.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{patterns}
usepackage{amsmath}
begin{document}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick,pattern=vertical lines] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
end{tikzpicture}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
clip plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
draw (0,0) grid[xstep=1cm,ystep=6cm] (8,5);
end{tikzpicture}
end{document}
add a comment |
up vote
5
down vote
Here is one more possibility: use a pattern
. And if you use clip
, as suggested by @nidhin, I'd use a grid rather than a foreach loop. In fact, if you use foreach
, since the function is known, you do not need clip
.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{patterns}
usepackage{amsmath}
begin{document}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick,pattern=vertical lines] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
end{tikzpicture}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
clip plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
draw (0,0) grid[xstep=1cm,ystep=6cm] (8,5);
end{tikzpicture}
end{document}
add a comment |
up vote
5
down vote
up vote
5
down vote
Here is one more possibility: use a pattern
. And if you use clip
, as suggested by @nidhin, I'd use a grid rather than a foreach loop. In fact, if you use foreach
, since the function is known, you do not need clip
.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{patterns}
usepackage{amsmath}
begin{document}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick,pattern=vertical lines] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
end{tikzpicture}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
clip plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
draw (0,0) grid[xstep=1cm,ystep=6cm] (8,5);
end{tikzpicture}
end{document}
Here is one more possibility: use a pattern
. And if you use clip
, as suggested by @nidhin, I'd use a grid rather than a foreach loop. In fact, if you use foreach
, since the function is known, you do not need clip
.
documentclass[tikz,border=3.14mm]{standalone}
usetikzlibrary{patterns}
usepackage{amsmath}
begin{document}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick,pattern=vertical lines] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
end{tikzpicture}
begin{tikzpicture}
draw[latex-latex] (0,6) node[left] {$boldsymbol{M}$} |- (8.5,0) node[below]
{$boldsymbol{L}$};
draw[thick] plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
clip plot[variable=x,domain=0:8,smooth] ({x},{4-(x-4)*(x-4)/4});
draw (0,0) grid[xstep=1cm,ystep=6cm] (8,5);
end{tikzpicture}
end{document}
answered Nov 10 at 16:02
marmot
79.5k490168
79.5k490168
add a comment |
add a comment |
up vote
4
down vote
Using clip
documentclass{standalone}
usepackage{amsmath}
usepackage{tikz}
begin{document}
begin{tikzpicture}[>=latex]
draw(4,5) node {$M_{max} = dfrac18 cdot q cdot L^2$};
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[clip] (0,0) .. controls (3,6) and (5,6) .. (8,0) --cycle;
foreach i in {0,0.5,...,8}
draw (i,0) -- ++ (0,10);
end{tikzpicture}
end{document}
add a comment |
up vote
4
down vote
Using clip
documentclass{standalone}
usepackage{amsmath}
usepackage{tikz}
begin{document}
begin{tikzpicture}[>=latex]
draw(4,5) node {$M_{max} = dfrac18 cdot q cdot L^2$};
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[clip] (0,0) .. controls (3,6) and (5,6) .. (8,0) --cycle;
foreach i in {0,0.5,...,8}
draw (i,0) -- ++ (0,10);
end{tikzpicture}
end{document}
add a comment |
up vote
4
down vote
up vote
4
down vote
Using clip
documentclass{standalone}
usepackage{amsmath}
usepackage{tikz}
begin{document}
begin{tikzpicture}[>=latex]
draw(4,5) node {$M_{max} = dfrac18 cdot q cdot L^2$};
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[clip] (0,0) .. controls (3,6) and (5,6) .. (8,0) --cycle;
foreach i in {0,0.5,...,8}
draw (i,0) -- ++ (0,10);
end{tikzpicture}
end{document}
Using clip
documentclass{standalone}
usepackage{amsmath}
usepackage{tikz}
begin{document}
begin{tikzpicture}[>=latex]
draw(4,5) node {$M_{max} = dfrac18 cdot q cdot L^2$};
draw[<->] (0,6) node[above]{M}--(0,0)--(9,0)node[right]{L};
draw[clip] (0,0) .. controls (3,6) and (5,6) .. (8,0) --cycle;
foreach i in {0,0.5,...,8}
draw (i,0) -- ++ (0,10);
end{tikzpicture}
end{document}
answered Nov 10 at 15:46
nidhin
1,927922
1,927922
add a comment |
add a comment |
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f459323%2fhow-can-i-make-a-curved-graph-in-tikz-and-vertical-lines-from-the-x-axis-to-that%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Welcome to TeX.SX! What have you tried so far? Please add your attempt as a compilable document to the question so that others can use it as a base.
– siracusa
Nov 10 at 15:04
Use a
ycomb
plot.– Torbjørn T.
Nov 10 at 15:09