3

I am not so familiar to plot with TikZ-pgf. However, I am going to plot the following figure with this: enter image description here

Edit my ManuelKuehner

According to one of the comments of the Original Poster (OP) the code below is generated using the software GeoGebra

And the code I used is listed below:

 \documentclass[10pt]{article}
 \usepackage{pgf,tikz}
 \usepackage{mathrsfs}
 \usetikzlibrary{arrows}
 \pagestyle{empty}
 \begin{document}
 \definecolor{xdxdff}{rgb}{0.49019607843137253,0.49019607843137253,1.}
 \definecolor{ffdxqq}{rgb}{1.,0.8431372549019608,0.}
 \definecolor{ffzzqq}{rgb}{1.,0.6,0.}
 \definecolor{wwccqq}{rgb}{0.4,0.8,0.}
 \definecolor{qqzzqq}{rgb}{0.,0.6,0.}
 \definecolor{qqzzff}{rgb}{0.,0.6,1.}
 \definecolor{ffqqqq}{rgb}{1.,0.,0.}
 \definecolor{qqqqff}{rgb}{0.,0.,1.}

 \begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=31249.999999999996cm,y=5.0cm]
     \draw[->,color=black] (0.,0.) -- (1.6E-4,0.);
     \foreach \x in {}
     \draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt) node[below] {\footnotesize $\x$};
     \draw[->,color=black] (0.,0.) -- (0.,1.);
     \foreach \y in {,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.}
     \draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
     \draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
     \clip(0.,0.) rectangle (1.6E-4,1.);
     \draw[line width=1.2pt,color=qqzzff,smooth,samples=100,domain=0.0:1.6E-4] plot(\x,{0-1.209E12*(\x)^(3.0)+2.4E8*(\x)^(2.0)-5028.3*(\x)+0.0493});
     \draw[line width=1.2pt,color=wwccqq,smooth,samples=100,domain=0.0:1.6E-4] plot(\x,{0-2.841E11*(\x)^(3.0)+2.185E7*(\x)^(2.0)+5514.2*(\x)+0.2326});
     \draw[line width=1.2pt,color=ffdxqq,smooth,samples=100,domain=0.0:1.6E-4] plot(\x,{0-2.304E10*(\x)^(3.0)+2051000.0*(\x)^(2.0)+180.1*(\x)+0.4336});
     \begin{scriptsize}
     \draw [fill=qqqqff] (4.9999999999999996E-6,0.025) circle (2.5pt);
     \draw [fill=qqqqff] (1.E-5,0.028) circle (2.5pt);
     \draw [fill=qqqqff] (5.E-5,0.245) circle (2.5pt);
     \draw [fill=qqqqff] (1.E-4,0.738) circle (2.5pt);
     \draw [fill=qqqqff] (1.5E-4,0.614) circle (2.5pt);
     \draw [color=ffqqqq] (1.1E-4,0.74)-- ++(-2.0pt,-2.0pt) -- ++(4.0pt,4.0pt) ++(-4.0pt,0) -- ++(4.0pt,-4.0pt);
     \draw[color=ffqqqq] (1.267692141088968E-4,0.7827306483430722) node {$(0.00011, 0.74)$};
     \draw[color=qqzzff] (4.9837731294315994E-5,0.10589055646933908) node {$y_1(x) = -1209000000000x³ + 240000000x² - 5028.3x + 0.0493$};
     \draw [fill=qqzzqq] (5.E-6,0.271) circle (2.5pt);
     \draw [fill=qqzzqq] (1.E-5,0.277) circle (2.5pt);
     \draw [fill=qqzzqq] (5.E-5,0.531) circle (2.5pt);
     \draw [fill=qqzzqq] (1.E-4,0.717) circle (2.5pt);
     \draw [fill=qqzzqq] (1.5E-4,0.593) circle (2.5pt);
     \draw [color=ffqqqq] (1.1E-4,0.7)-- ++(-2.0pt,-2.0pt) -- ++(4.0pt,4.0pt) ++(-4.0pt,0) -- ++(4.0pt,-4.0pt);
     \draw[color=ffqqqq] (1.2676921410889684E-4,0.6663987575522743) node {$(0.00011, 0.7)$};
     \draw[color=wwccqq] (4.776782592710754E-5,0.1746321283002651) node {$y_2(x) = -284100000000x³ + 21850000x² + 5514.2x + 0.2326$};
     \draw [fill=ffzzqq] (5.E-6,0.435) circle (2.5pt);
     \draw [fill=ffzzqq] (1.E-5,0.435) circle (2.5pt);
     \draw [fill=ffzzqq] (5.E-5,0.445) circle (2.5pt);
     \draw [fill=ffzzqq] (1.E-4,0.449) circle (2.5pt);
     \draw [fill=ffzzqq] (1.5E-4,0.429) circle (2.5pt);
     \draw[color=ffdxqq] (5.984227390249018E-5,0.3914324702285702) node {$y_3(x) = -23040000000x³ + 2051000x² + 180.1x + 0.4336$};
 \end{scriptsize}
 \end{tikzpicture}
 \end{document}

Here is my problem: there appears an error message:

I can't work with sizes bigger than about 19 feet.

How can I fix the problem to get the correct plot?

Thanks a lot!

12
  • 1
    Are you sure about this: x=31249.999999999996cm? This is over 300 m. Mar 9 '16 at 16:08
  • 1
    Just define the width of the diagram directly. Look in the manual for the expression width and you will find examples. Same for height. I am on my phone and cannot provide an example. And maybe it's easier to provide all data in an more appropriate range like 1 mm instead of 1*10-3 m. Mar 9 '16 at 16:12
  • 2
    I would recommend using PGFPlots (instead of raw TikZ) for this, since it handles the scaling properly.
    – Jake
    Mar 9 '16 at 16:26
  • 1
    In order to make the calculation, Tikz consider number as length. So a number can't be bigger than what Tikz can handle. The problem come from your formula. You have a coefficient of 1.209E12. Have you consider modifying your formula. Instead of $1.209E12\times (1.4E-4)^3$, you could use $1.209\times (1.4)^3$. The result will be the same, but Tikz can do the later. Mar 9 '16 at 17:26
  • 1
    I edited your question accordingly. Can't you edit your question yet? Mar 12 '16 at 14:08
0

With so many comments, I tried to modified the code slightly. Basically, I tried to scale my equations of curves, the intervals of the coordinate, and the location of the points reasonably. The revised code is listed below.

\documentclass[10pt]{article}
\usepackage{pgf,tikz}
\usepackage{mathrsfs}
\usetikzlibrary{arrows}
\pagestyle{empty}
\begin{document}
\definecolor{xdxdff}{rgb}{0.49019607843137253,0.49019607843137253,1.}
\definecolor{ffzztt}{rgb}{1.,0.6,0.2}
\definecolor{ffdxqq}{rgb}{1.,0.8431372549019608,0.}
\definecolor{ffzzqq}{rgb}{1.,0.6,0.}
\definecolor{wwccqq}{rgb}{0.4,0.8,0.}
\definecolor{qqzzqq}{rgb}{0.,0.6,0.}
\definecolor{qqzzff}{rgb}{0.,0.6,1.}
\definecolor{ffqqqq}{rgb}{1.,0.,0.}
\definecolor{qqqqff}{rgb}{0.,0.,1.}
\begin{tikzpicture}[line cap=round,line join=round,>=triangle 45,x=0.9cm,y=5.5cm]
\draw[->,color=black] (0.,0.) -- (8.5,0.);
\foreach \x in {,2.,4.,6.,8.}
\draw[shift={(\x,0)},color=black] (0pt,2pt) -- (0pt,-2pt);
\node[below] at (2,0) {\footnotesize $4\times 10^{-5}$}; 
\node[below] at (4,0) {\footnotesize $8\times 10^{-5}$}; 
\node[below] at (6,0) {\footnotesize $1.2\times 10^{-4}$}; 
\node[below] at (8,0) {\footnotesize $1.6\times 10^{-4}$}; 
\draw[->,color=black] (0.,0.) -- (0.,1.1);
\foreach \y in {,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.}
\draw[shift={(0,\y)},color=black] (2pt,0pt) -- (-2pt,0pt) node[left] {\footnotesize $\y$};
\draw[color=black] (0pt,-10pt) node[right] {\footnotesize $0$};
\clip(0.,0.) rectangle (8.5,1.);
\draw[line width=1.2pt,color=qqzzff,smooth,samples=100,domain=0.0:8.5] plot(\x,{0-0.0097*(\x)^(3.0)+0.096*(\x)^(2.0)-0.1006*(\x)+0.0493});
\draw[line width=1.2pt,color=wwccqq,smooth,samples=100,domain=0.0:8.5] plot(\x,{0-0.0023*(\x)^(3.0)+0.0087*(\x)^(2.0)+0.1103*(\x)+0.2326});
\draw[line width=1.2pt,color=ffdxqq,smooth,samples=100,domain=0.0:8.5] plot(\x,{0-2.0E-4*(\x)^(3.0)+8.0E-4*(\x)^(2.0)+0.0036*(\x)+0.4336});
\begin{scriptsize}
\draw [fill=qqqqff] (0.25,0.025) circle (2.5pt);
\draw [fill=qqqqff] (0.5,0.028) circle (2.5pt);
\draw [fill=qqqqff] (2.5,0.245) circle (2.5pt);
\draw [fill=qqqqff] (5.,0.738) circle (2.5pt);
\draw [fill=qqqqff] (7.5,0.614) circle (2.5pt);
\draw [color=ffqqqq] (5.5,0.74)-- ++(-2.0pt,-2.0pt) -- ++(4.0pt,4.0pt) ++(-4.0pt,0) -- ++(4.0pt,-4.0pt);
\draw[color=ffqqqq, right] (6.220444277733656,0.8009433424562268); 
\node [color=ffqqqq, right] at (5.5, 0.74) {$(1.1\times 10^{-4}, 0.74)$};
\draw[color=qqzzff] (3.2539639594501097,0.05156399945292019); 
\node [color=qqzzff, right] at (0,0.98) {$y_1= -1.209\times 10^{12}x^{3} + 2.4\times 10^{8}x^{2} - 5028.3x + 0.0493$};
\draw [fill=qqzzqq] (0.25,0.271) circle (2.5pt);
\draw [fill=qqzzqq] (0.5,0.277) circle (2.5pt);
\draw [fill=qqzzqq] (2.5,0.531) circle (2.5pt);
\draw [fill=qqzzqq] (5.,0.717) circle (2.5pt);
\draw [fill=qqzzqq] (7.5,0.593) circle (2.5pt);
\draw [color=ffqqqq] (5.5,0.7)-- ++(-2.0pt,-2.0pt) -- ++(4.0pt,4.0pt) ++(-4.0pt,0) -- ++(4.0pt,-4.0pt);
\draw[color=ffqqqq] (6.220444277733656,0.6503143287872204) node {$(1.1\times 10^{-4}, 0.70)$};
\draw[color=wwccqq] (2.8217615289717126,0.20219301312192653); 
\node [color=wwccqq, right] at (0, 0.9) {$y_2 = -2.841\times 10^{11}x^{3} + 2.185\times 10^{7}x^{2} + 5514.2x + 0.2326$};
\draw [fill=ffzzqq] (0.25,0.435) circle (2.5pt);
\draw [fill=ffzzqq] (0.5,0.445) circle (2.5pt);
\draw [fill=ffzzqq] (2.5,0.449) circle (2.5pt);
\draw [fill=ffzzqq] (5.,0.429) circle (2.5pt);
\draw[color=ffdxqq] (2.7824703989282216,0.37165065349955867); 
\node [color=ffdxqq, right] at (0, 0.82) {$y_3 = -2.304\times 10^{10}x^{3} + 2.051\times 10^{6}x^{2} + 180.1x + 0.4336$};
\draw [fill=ffzztt] (7.5,0.429) circle (2.5pt);
\end{scriptsize}
\end{tikzpicture}
\end{document}

And the result: enter image description here

Thanks for suggestions!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.