pgfplots: How to draw a tangent graph below two others? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)plotting two time series with boundsGrouped bar chartHow do i get the x axis on top but keep a line on the bottomHow to prevent rounded and duplicated tick labels in pgfplots with fixed precision?How to hide empty (value 0) ybars with pgfplots?Show mark labels near marks and not centered in ybar interaval graphDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingpgfplots: percentage in matrix plotHow to draw a square and its diagonals with arrows?PGFPlots - Fill area between two curves

If a contract sometimes uses the wrong name, is it still valid?

do i need a schengen visa for a direct flight to amsterdam?

How can I make names more distinctive without making them longer?

Were Kohanim forbidden from serving in King David's army?

Bonus calculation: Am I making a mountain out of a molehill?

If Jon Snow became King of the Seven Kingdoms what would his regnal number be?

Should I call the interviewer directly, if HR aren't responding?

How to motivate offshore teams and trust them to deliver?

When is phishing education going too far?

How to recreate this effect in Photoshop?

Problem drawing boxes with arrows in tikZ

What happens to sewage if there is no river near by?

Is the address of a local variable a constexpr?

How discoverable are IPv6 addresses and AAAA names by potential attackers?

How do I stop a creek from eroding my steep embankment?

Disable hyphenation for an entire paragraph

When -s is used with third person singular. What's its use in this context?

What is the longest distance a 13th-level monk can jump while attacking on the same turn?

Is the Standard Deduction better than Itemized when both are the same amount?

Why is black pepper both grey and black?

Why is there no army of Iron-Mans in the MCU?

Check which numbers satisfy the condition [A*B*C = A! + B! + C!]

What does the "x" in "x86" represent?

iPhone Wallpaper?



pgfplots: How to draw a tangent graph below two others?



Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)plotting two time series with boundsGrouped bar chartHow do i get the x axis on top but keep a line on the bottomHow to prevent rounded and duplicated tick labels in pgfplots with fixed precision?How to hide empty (value 0) ybars with pgfplots?Show mark labels near marks and not centered in ybar interaval graphDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingpgfplots: percentage in matrix plotHow to draw a square and its diagonals with arrows?PGFPlots - Fill area between two curves










7















Assumed I want to draw three simple graphs based on the following illustration:



Screenshot of the desired state




How can I plot those three graphs? I've tried to create something like this:



Minimum Working Example (MWE):



documentclassstandalone
usepackagepgfplots

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
endaxis
endtikzpicture
enddocument



Screenshot of the current state:



Screenshot of the current state




Description of the issue:



However, I don't get the point on how to figure out the function of the third graph as well as how to clip the graphs in x and y direction to align them centered in the plot. It is not necessary to be completely precise, the accuracy of my upper template will be fine enough.



How to do that?










share|improve this question



















  • 3





    @close-voter: Please explain in a comment your reason for voting to close!

    – Kurt
    Apr 1 at 20:15











  • I accept the Kurt's comment.

    – Sebastiano
    Apr 1 at 20:39















7















Assumed I want to draw three simple graphs based on the following illustration:



Screenshot of the desired state




How can I plot those three graphs? I've tried to create something like this:



Minimum Working Example (MWE):



documentclassstandalone
usepackagepgfplots

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
endaxis
endtikzpicture
enddocument



Screenshot of the current state:



Screenshot of the current state




Description of the issue:



However, I don't get the point on how to figure out the function of the third graph as well as how to clip the graphs in x and y direction to align them centered in the plot. It is not necessary to be completely precise, the accuracy of my upper template will be fine enough.



How to do that?










share|improve this question



















  • 3





    @close-voter: Please explain in a comment your reason for voting to close!

    – Kurt
    Apr 1 at 20:15











  • I accept the Kurt's comment.

    – Sebastiano
    Apr 1 at 20:39













7












7








7


2






Assumed I want to draw three simple graphs based on the following illustration:



Screenshot of the desired state




How can I plot those three graphs? I've tried to create something like this:



Minimum Working Example (MWE):



documentclassstandalone
usepackagepgfplots

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
endaxis
endtikzpicture
enddocument



Screenshot of the current state:



Screenshot of the current state




Description of the issue:



However, I don't get the point on how to figure out the function of the third graph as well as how to clip the graphs in x and y direction to align them centered in the plot. It is not necessary to be completely precise, the accuracy of my upper template will be fine enough.



How to do that?










share|improve this question
















Assumed I want to draw three simple graphs based on the following illustration:



Screenshot of the desired state




How can I plot those three graphs? I've tried to create something like this:



Minimum Working Example (MWE):



documentclassstandalone
usepackagepgfplots

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
endaxis
endtikzpicture
enddocument



Screenshot of the current state:



Screenshot of the current state




Description of the issue:



However, I don't get the point on how to figure out the function of the third graph as well as how to clip the graphs in x and y direction to align them centered in the plot. It is not necessary to be completely precise, the accuracy of my upper template will be fine enough.



How to do that?







tikz-pgf pgfplots plot graphs polynomials






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Apr 1 at 20:04







Dave

















asked Apr 1 at 19:34









DaveDave

1,268619




1,268619







  • 3





    @close-voter: Please explain in a comment your reason for voting to close!

    – Kurt
    Apr 1 at 20:15











  • I accept the Kurt's comment.

    – Sebastiano
    Apr 1 at 20:39












  • 3





    @close-voter: Please explain in a comment your reason for voting to close!

    – Kurt
    Apr 1 at 20:15











  • I accept the Kurt's comment.

    – Sebastiano
    Apr 1 at 20:39







3




3





@close-voter: Please explain in a comment your reason for voting to close!

– Kurt
Apr 1 at 20:15





@close-voter: Please explain in a comment your reason for voting to close!

– Kurt
Apr 1 at 20:15













I accept the Kurt's comment.

– Sebastiano
Apr 1 at 20:39





I accept the Kurt's comment.

– Sebastiano
Apr 1 at 20:39










2 Answers
2






active

oldest

votes


















9














You can use the function f1*f2/(f1+f2) to get something like what you describe. To make the code a bit clearer I defined the functions f1 and f2.



documentclassstandalone
usepackagepgfplots
pgfplotsset%
compat=1.12,
/pgf/declare function=f1(x)=exp(3*x);,
/pgf/declare function=f2(x)=-exp(3*x)+20;,

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] f1(x);
addplot+[no marks, samples=100] f2(x);
addplot+[no marks, samples=100] f1(x)*f2(x)/(f1(x)+f2(x));
endaxis
endtikzpicture
enddocument


enter image description here



If you want the function to follow more closely you can use sqrt(f1^2*f2^2/(f1^2+f2^2). Then replace the third plot with



addplot+[no marks, samples=100] sqrt(f1(x)*f1(x)*f2(x)*f2(x)/(f1(x)*f1(x)+f2(x)*f2(x)));


to get



enter image description here



Slightly more general, one can use the exponent a (does not have to be an integer):



 foreach a in 1,...,5
addplot+[no marks, samples=100] (f1(x)^a*f2(x)^a/(f1(x)^a+f2(x)^a))^(1/a);



enter image description here






share|improve this answer

























  • The lower one looks perfect, thank you very much!!

    – Dave
    Apr 1 at 21:13











  • Your last edit is simply perfect! Thank you so much!

    – Dave
    Apr 6 at 18:29


















5














Are you looking for the minimum? (I shifted the plot a bit but you can of course undo the shift.)



documentclass[border=3.14mm,tikz]standalone
usepackagepgfplots
pgfplotssetcompat=1.16
begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
addplot+[no marks, samples=6,smooth]
min(exp(3*x),(-exp(3*x)+20))-pi/2;
endaxis
endtikzpicture
enddocument


enter image description here






share|improve this answer























  • Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

    – Dave
    Apr 1 at 21:14












Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "85"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f482639%2fpgfplots-how-to-draw-a-tangent-graph-below-two-others%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









9














You can use the function f1*f2/(f1+f2) to get something like what you describe. To make the code a bit clearer I defined the functions f1 and f2.



documentclassstandalone
usepackagepgfplots
pgfplotsset%
compat=1.12,
/pgf/declare function=f1(x)=exp(3*x);,
/pgf/declare function=f2(x)=-exp(3*x)+20;,

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] f1(x);
addplot+[no marks, samples=100] f2(x);
addplot+[no marks, samples=100] f1(x)*f2(x)/(f1(x)+f2(x));
endaxis
endtikzpicture
enddocument


enter image description here



If you want the function to follow more closely you can use sqrt(f1^2*f2^2/(f1^2+f2^2). Then replace the third plot with



addplot+[no marks, samples=100] sqrt(f1(x)*f1(x)*f2(x)*f2(x)/(f1(x)*f1(x)+f2(x)*f2(x)));


to get



enter image description here



Slightly more general, one can use the exponent a (does not have to be an integer):



 foreach a in 1,...,5
addplot+[no marks, samples=100] (f1(x)^a*f2(x)^a/(f1(x)^a+f2(x)^a))^(1/a);



enter image description here






share|improve this answer

























  • The lower one looks perfect, thank you very much!!

    – Dave
    Apr 1 at 21:13











  • Your last edit is simply perfect! Thank you so much!

    – Dave
    Apr 6 at 18:29















9














You can use the function f1*f2/(f1+f2) to get something like what you describe. To make the code a bit clearer I defined the functions f1 and f2.



documentclassstandalone
usepackagepgfplots
pgfplotsset%
compat=1.12,
/pgf/declare function=f1(x)=exp(3*x);,
/pgf/declare function=f2(x)=-exp(3*x)+20;,

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] f1(x);
addplot+[no marks, samples=100] f2(x);
addplot+[no marks, samples=100] f1(x)*f2(x)/(f1(x)+f2(x));
endaxis
endtikzpicture
enddocument


enter image description here



If you want the function to follow more closely you can use sqrt(f1^2*f2^2/(f1^2+f2^2). Then replace the third plot with



addplot+[no marks, samples=100] sqrt(f1(x)*f1(x)*f2(x)*f2(x)/(f1(x)*f1(x)+f2(x)*f2(x)));


to get



enter image description here



Slightly more general, one can use the exponent a (does not have to be an integer):



 foreach a in 1,...,5
addplot+[no marks, samples=100] (f1(x)^a*f2(x)^a/(f1(x)^a+f2(x)^a))^(1/a);



enter image description here






share|improve this answer

























  • The lower one looks perfect, thank you very much!!

    – Dave
    Apr 1 at 21:13











  • Your last edit is simply perfect! Thank you so much!

    – Dave
    Apr 6 at 18:29













9












9








9







You can use the function f1*f2/(f1+f2) to get something like what you describe. To make the code a bit clearer I defined the functions f1 and f2.



documentclassstandalone
usepackagepgfplots
pgfplotsset%
compat=1.12,
/pgf/declare function=f1(x)=exp(3*x);,
/pgf/declare function=f2(x)=-exp(3*x)+20;,

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] f1(x);
addplot+[no marks, samples=100] f2(x);
addplot+[no marks, samples=100] f1(x)*f2(x)/(f1(x)+f2(x));
endaxis
endtikzpicture
enddocument


enter image description here



If you want the function to follow more closely you can use sqrt(f1^2*f2^2/(f1^2+f2^2). Then replace the third plot with



addplot+[no marks, samples=100] sqrt(f1(x)*f1(x)*f2(x)*f2(x)/(f1(x)*f1(x)+f2(x)*f2(x)));


to get



enter image description here



Slightly more general, one can use the exponent a (does not have to be an integer):



 foreach a in 1,...,5
addplot+[no marks, samples=100] (f1(x)^a*f2(x)^a/(f1(x)^a+f2(x)^a))^(1/a);



enter image description here






share|improve this answer















You can use the function f1*f2/(f1+f2) to get something like what you describe. To make the code a bit clearer I defined the functions f1 and f2.



documentclassstandalone
usepackagepgfplots
pgfplotsset%
compat=1.12,
/pgf/declare function=f1(x)=exp(3*x);,
/pgf/declare function=f2(x)=-exp(3*x)+20;,

begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] f1(x);
addplot+[no marks, samples=100] f2(x);
addplot+[no marks, samples=100] f1(x)*f2(x)/(f1(x)+f2(x));
endaxis
endtikzpicture
enddocument


enter image description here



If you want the function to follow more closely you can use sqrt(f1^2*f2^2/(f1^2+f2^2). Then replace the third plot with



addplot+[no marks, samples=100] sqrt(f1(x)*f1(x)*f2(x)*f2(x)/(f1(x)*f1(x)+f2(x)*f2(x)));


to get



enter image description here



Slightly more general, one can use the exponent a (does not have to be an integer):



 foreach a in 1,...,5
addplot+[no marks, samples=100] (f1(x)^a*f2(x)^a/(f1(x)^a+f2(x)^a))^(1/a);



enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 2 at 7:05

























answered Apr 1 at 20:36









StefanHStefanH

11k1920




11k1920












  • The lower one looks perfect, thank you very much!!

    – Dave
    Apr 1 at 21:13











  • Your last edit is simply perfect! Thank you so much!

    – Dave
    Apr 6 at 18:29

















  • The lower one looks perfect, thank you very much!!

    – Dave
    Apr 1 at 21:13











  • Your last edit is simply perfect! Thank you so much!

    – Dave
    Apr 6 at 18:29
















The lower one looks perfect, thank you very much!!

– Dave
Apr 1 at 21:13





The lower one looks perfect, thank you very much!!

– Dave
Apr 1 at 21:13













Your last edit is simply perfect! Thank you so much!

– Dave
Apr 6 at 18:29





Your last edit is simply perfect! Thank you so much!

– Dave
Apr 6 at 18:29











5














Are you looking for the minimum? (I shifted the plot a bit but you can of course undo the shift.)



documentclass[border=3.14mm,tikz]standalone
usepackagepgfplots
pgfplotssetcompat=1.16
begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
addplot+[no marks, samples=6,smooth]
min(exp(3*x),(-exp(3*x)+20))-pi/2;
endaxis
endtikzpicture
enddocument


enter image description here






share|improve this answer























  • Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

    – Dave
    Apr 1 at 21:14
















5














Are you looking for the minimum? (I shifted the plot a bit but you can of course undo the shift.)



documentclass[border=3.14mm,tikz]standalone
usepackagepgfplots
pgfplotssetcompat=1.16
begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
addplot+[no marks, samples=6,smooth]
min(exp(3*x),(-exp(3*x)+20))-pi/2;
endaxis
endtikzpicture
enddocument


enter image description here






share|improve this answer























  • Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

    – Dave
    Apr 1 at 21:14














5












5








5







Are you looking for the minimum? (I shifted the plot a bit but you can of course undo the shift.)



documentclass[border=3.14mm,tikz]standalone
usepackagepgfplots
pgfplotssetcompat=1.16
begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
addplot+[no marks, samples=6,smooth]
min(exp(3*x),(-exp(3*x)+20))-pi/2;
endaxis
endtikzpicture
enddocument


enter image description here






share|improve this answer













Are you looking for the minimum? (I shifted the plot a bit but you can of course undo the shift.)



documentclass[border=3.14mm,tikz]standalone
usepackagepgfplots
pgfplotssetcompat=1.16
begindocument
begintikzpicture
beginaxis[domain=0:1]
addplot+[no marks, samples=100] exp(3*x);
addplot+[no marks, samples=100] (-exp(3*x)+20);
addplot+[no marks, samples=6,smooth]
min(exp(3*x),(-exp(3*x)+20))-pi/2;
endaxis
endtikzpicture
enddocument


enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered Apr 1 at 20:19









marmotmarmot

118k6152286




118k6152286












  • Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

    – Dave
    Apr 1 at 21:14


















  • Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

    – Dave
    Apr 1 at 21:14

















Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

– Dave
Apr 1 at 21:14






Thank you very much marmot! The user StefanH has also posted a great approach which looks very smooth - I hope you are not disappointed if I choose his option as an answer?

– Dave
Apr 1 at 21:14


















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f482639%2fpgfplots-how-to-draw-a-tangent-graph-below-two-others%23new-answer', 'question_page');

);

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







Popular posts from this blog

Marja Vauras Lähteet | Aiheesta muualla | NavigointivalikkoMarja Vauras Turun yliopiston tutkimusportaalissaInfobox OKSuomalaisen Tiedeakatemian varsinaiset jäsenetKasvatustieteiden tiedekunnan dekaanit ja muu johtoMarja VaurasKoulutusvienti on kestävyys- ja ketteryyslaji (2.5.2017)laajentamallaWorldCat Identities0000 0001 0855 9405n86069603utb201588738523620927

Which is better: GPT or RelGAN for text generation?2019 Community Moderator ElectionWhat is the difference between TextGAN and LM for text generation?GANs (generative adversarial networks) possible for text as well?Generator loss not decreasing- text to image synthesisChoosing a right algorithm for template-based text generationHow should I format input and output for text generation with LSTMsGumbel Softmax vs Vanilla Softmax for GAN trainingWhich neural network to choose for classification from text/speech?NLP text autoencoder that generates text in poetic meterWhat is the interpretation of the expectation notation in the GAN formulation?What is the difference between TextGAN and LM for text generation?How to prepare the data for text generation task

Is this part of the description of the Archfey warlock's Misty Escape feature redundant?When is entropic ward considered “used”?How does the reaction timing work for Wrath of the Storm? Can it potentially prevent the damage from the triggering attack?Does the Dark Arts Archlich warlock patrons's Arcane Invisibility activate every time you cast a level 1+ spell?When attacking while invisible, when exactly does invisibility break?Can I cast Hellish Rebuke on my turn?Do I have to “pre-cast” a reaction spell in order for it to be triggered?What happens if a Player Misty Escapes into an Invisible CreatureCan a reaction interrupt multiattack?Does the Fiend-patron warlock's Hurl Through Hell feature dispel effects that require the target to be on the same plane as the caster?What are you allowed to do while using the Warlock's Eldritch Master feature?