lorenzo.pantieri” post=98864Auguri a tutti, innanzitutto! 🙂
`\documentclass{article}
\usepackage{tikz,pgfplots}
\begin{document}\begin{tikzpicture}[font=\small]
\begin{axis} [width=0.8\textwidth,
axis lines=middle,
xmin=0,xmax=18,ymin=0,ymax=120,
enlargelimits,
xtick=\empty,
ytick=\empty,
xlabel=$x$,
ylabel=$y$,grid]\addplot [domain=0:100, samples=200,smooth,] {5*x+25};
\addplot [domain=0:100, samples=200,smooth,thick,blue,red] {7*x+15};
\addplot [domain=0:100, samples=200,smooth,thick,blue,green] {85};\addplot [domain=-100:0, samples=200,smooth,thick,blue,dashed] {5*x+25};
\addplot [domain=-100:0, samples=200,smooth,thick,blue,red,dashed] {7*x+15};
\addplot [domain=-100:0, samples=200,smooth,thick,blue,green,dashed] {85};%\addplot [domain=12:100, samples=200,smooth,thick,blue,yellow,ultra thick] {85};
%\addplot [domain=5:12, samples=200,smooth,thick,blue,yellow,ultra thick] {5*x+25};
%\addplot [domain=0:5, samples=200,smooth,thick,blue,yellow,ultra thick] {7*x+15};
%\addplot [domain=-100:0, samples=200,smooth,thick,blue,yellow,ultra thick,dashed] {7*x+15};\draw (axis cs:5,50) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:5,50) {$A$};\draw (axis cs:10,85) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:10,85) {$B$};\draw (axis cs:12,85) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:12,85) {$C$};\draw [dashed] (axis cs:5,0) — (axis cs:5,50);
\draw [dashed] (axis cs:0,50) — (axis cs:5,50);\draw [dashed] (axis cs:10,0) — (axis cs:10,85);
\draw [dashed] (axis cs:12,0) — (axis cs:12,85);
\node [below] at (axis cs:5,0) {$5$};
\node [below] at (axis cs:10,0) {$10$};
\node [below] at (axis cs:12,0) {$12$};\node
at (axis cs:0,50) {$50$};
\nodeat (axis cs:0,85) {$85$};
\node [below] at (axis cs:18,105) {\color{blue}$y=5x+25$};
\node at (axis cs:12,120) {\color{red}$y=7x+15$};
\node [below] at (axis cs:18,85) {\color{green}$y=85$};
\end{axis}
\end{tikzpicture}\end{document}`
Nel disegno precedente vorrei evidenziare “la parte in basso della spezzata”. Se decommentate le quattro righe che ora sono commentate avete un’idea di che cosa voglio fare. Quello che vorrei, però, è evidenziare la spezzata lasciando intravedere i segmenti (colorati in rosso, blu e verde) da cui è costituita.Pensavo a un’onda (tipo una sinusoide) che “sbiscioli” i tre segmenti, ma non so come farla.
Suggerimenti?
Grazie, e ancora auguri! 🙂
L.
Auguri!! Prova così: `\documentclass{article}
\usepackage{tikz,pgfplots}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}[font=\small]
\begin{axis} [width=0.8\textwidth,
axis lines=middle,
xmin=0,xmax=18,ymin=0,ymax=120,
enlargelimits,
xtick=\empty,
ytick=\empty,
xlabel=$x$,
ylabel=$y$,grid]
% racchiudiamo in un gruppo e aumentiamo la dimensione del tratto:
% avendo inserito questo codice prima di tutto il resto automaticamente
% sarà in background e non coprirà gli altri segmenti
\begin{scope}[opacity=0.8,line width=2mm,yellow!80!orange]
\addplot [domain=12:100, samples=200,smooth,ultra thick] {85};
\addplot [domain=5:12, samples=200,smooth,ultra thick] {5*x+25};
\addplot [domain=0:5, samples=200,smooth,ultra thick] {7*x+15};
\addplot [domain=-100:0, samples=200,smooth,ultra thick,dashed] {7*x+15};
\end{scope}
\addplot [domain=0:100, samples=200,smooth,] {5*x+25};
\addplot [domain=0:100, samples=200,smooth,thick,blue,red] {7*x+15};
\addplot [domain=0:100, samples=200,smooth,thick,blue,green] {85};
\addplot [domain=-100:0, samples=200,smooth,thick,blue,dashed] {5*x+25};
\addplot [domain=-100:0, samples=200,smooth,thick,blue,red,dashed] {7*x+15};
\addplot [domain=-100:0, samples=200,smooth,thick,blue,green,dashed] {85};
\draw (axis cs:5,50) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:5,50) {$A$};
\draw (axis cs:10,85) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:10,85) {$B$};
\draw (axis cs:12,85) [fill=blue,thick] circle (2.0pt);
\node [above=2pt] at (axis cs:12,85) {$C$};
\draw [dashed] (axis cs:5,0) — (axis cs:5,50);
\draw [dashed] (axis cs:0,50) — (axis cs:5,50);
\draw [dashed] (axis cs:10,0) — (axis cs:10,85);
\draw [dashed] (axis cs:12,0) — (axis cs:12,85);
\node [below] at (axis cs:5,0) {$5$};
\node [below] at (axis cs:10,0) {$10$};
\node [below] at (axis cs:12,0) {$12$};
\node
at (axis cs:0,50) {$50$};
\node
at (axis cs:0,85) {$85$};
% qui io lascerei in nero il testo anche se capisco l'utilità del colore: il problema è il verde, troppo chiaro anche a schermo
\node [below] at (axis cs:18,105) {\color{blue}$y=5x+25$};
\node at (axis cs:12,120) {\color{red}$y=7x+15$};
\node [below] at (axis cs:18,85) {\color{green}$y=85$};
\end{axis}
\end{tikzpicture}
\end{document}` Ho lasciato alcuni commenti nel codice.
In alternativa, c’è sempre la possibilità di creare qualcosa di più morbido con hobby, come Highlighting some nodes of a TikZ binomial tree. In questo caso però è complicato definire il percorso.
Ciao
Claudio