Hi Christian

That works beautifully (see attached example pdf) - thanks!

Cheers

Will

On Tue, Jan 31, 2012 at 3:38 PM, Christian Feuersaenger
<cfeuersaen...@googlemail.com> wrote:
> Hi William,
>
> Am 28.01.2012 17:47, schrieb William Henney:
>
>> The only thing missing now is some way to take per-point values from a
>> data column for the "/pgfplots/nodes near coords align" parameter
>> ("above", "below", "left", etc).  That would help in avoiding
>> collisions between the labels and would allow me to use a larger font
>> size.  Is it at all possible?
>
>
> Yes, it is - and it is rather simple as well: you can modify your data table
> such that it contains a further column 'align'.
> Then, you tell pgfplots that the visualization depends on its data -- in the
> very same way as you included the 'lambda' column. Once your data table is
> modified, you can add the following two lines to make it happen:
>
>    nodes near coords align=\ALIGN,
>    visualization depends on={value\thisrow{align} \as \ALIGN},
>
> Here, the 'value\thisrow{align} \as\ALIGN' means to take the expanded value
> of \thisrow{align} verbatim, i.e. without parsing it as a number. Without
> the key word 'value', it would have been parsed as number.
>
> NOTE: you need to change you data table's column name for (M-O)/E : it
> should not contain white spaces (since the default column separator is white
> space).
>
> Here is a complete example:
>
> Cloudy    El    lambda    Model    Observed    Error    M/O    (M-O)/E
>  align
> NE_3    Ne3    3869    8.17686723274    10.80    1.4    0.76    -1.87
>  below
> S_II    S2    4070    10.4475816855    8.227    0.979    1.27    2.27
>  above
> S_II    S2    4078    2.99580775427    2.698    0.318    1.11    0.94
>  auto
> C__2    C2    4267    0.207606269471    0.191    0.051    1.09    0.33
>  below
> TOTL    O3    4363    2.37236800689    2.011    0.207    1.18    1.75
>  auto
> HE_1    He1    4471    4.65171605379    4.3    0.416    1.08    0.85    auto
> FE_3    Fe3    4659    2.60331622015    0.338    0.042    7.70    53.94
>  auto
> FE_3    Fe3    4702    1.44123467401    0.198    0.052    7.28    23.91
>  auto
> FE_3    Fe3    4734    0.756129700232    0.117    0.036    6.46    17.75
>  auto
> FE_3    Fe3    4755    0.47606006097    0.069    0.028    6.90    14.54
>  {anchor=south west}
> H__1    H1    4861    100.0    100    7.2    1.00    0.00    auto
> O__3    O3    4959    85.6877662453    80.94    5.91    1.06    0.80    auto
> O__3    O3    5007    257.917681537    232.7    16.2    1.11    1.56    auto
> N__2    N2    5755    8.17735206821    5.91    0.65    1.38    3.49    auto
> HE_1    He1    5876    14.5187752486    14.48    1.35    1.00    0.03
>  auto
> O__1    O1    6300    5.4711813156    4.846    0.446    1.13    1.40    auto
> S__3    S3    6312    5.1304323418    3.88    0.357    1.32    3.50    auto
> H__1    H1    6563    280.747361832    286    21.5    0.98    -0.24    auto
> N__2    N2    6584    33.6017794459    33.84    2.54    0.99    -0.09
>  auto
> HE_1    He1    6678    3.78215599287    3.514    0.316    1.08    0.85
>  auto
> S_II    S2    6731    0.637016569893    0.747    0.067    0.85    -1.64
>  auto
> AR_3    Ar3    7135    26.2075170797    17.01    1.48    1.54    6.21
>  auto
>
> Note that even the complicated choice {anchor=south west} is possible here.
> This should allow all freedom that you need.
>
> \documentclass{article}
> \usepackage{fullpage}
> \usepackage{txfonts}
> \usepackage{pgfplots}
>
> \newcommand\Ion[2]{\ensuremath{\mathrm{#1\,\scriptstyle #2}}}
> \newcounter{ionstage}
> \newcommand{\ion}[2]{% replace the aastex version
>  \setcounter{ionstage}{#2}%
>  \Ion{#1}{\Roman{ionstage}}}
>
> % \usepgfplotslibrary{external}
> % \tikzset{external/force remake}
> % \tikzexternalize
>
> \pgfplotsset{
>  compat=1.5.1, % most current version as of writing (27 Jan 2012)
>  % compat=newest, % select to always use latest version (may cause minor
> appearance changes)
>  width=\textwidth,
> }
> \begin{document}
> \begin{tikzpicture}
>  \begin{loglogaxis}[
>    xlabel={Observed Intensity, \(100 \times
> I_{\lambda}/I(\mathrm{H}\beta)\)},
>    ylabel={Model Intensity, \(100 \times I_{\lambda}/I(\mathrm{H}\beta)\)},
>    log ticks with fixed point,
>    legend columns=4,
>    legend pos=north west,
>    % transpose legend,
>    ]
>    \addplot [
>    scatter/classes={
>      H1={mark=*,brown},%
>      He1={mark=*,green},%
>      C2={mark=triangle*,black},%
>      N2={mark=triangle*,cyan},%
>      O1={mark=*,orange},%
>      O3={mark=square*,orange},%
>      Ne3={mark=square*,blue},%
>      S2={mark=triangle*,red},%
>      S3={mark=square*,red},%
>      Ar3={mark=square*,magenta},%
>      Fe3={mark=square*,yellow}%
>    },
>    only marks, scatter,
>    scatter src=explicit symbolic,
>    point meta=explicit symbolic,
>    nodes near coords*={\tiny\pgfmathprintnumber[set thousands
> separator={}]\LAMBDA\,\AA},
>    visualization depends on={\thisrow{lambda} \as \LAMBDA},
>    nodes near coords align=\ALIGN,
>    visualization depends on={value\thisrow{align} \as \ALIGN},
>
>    error bars/x dir=both,
>    error bars/x explicit,
>    error bars/y dir=none,
>    ] table [
>    x=Observed,
>    y=Model,
>    x error=Error,
>    meta=El
>    ] {ratios-177341.dat};
>    \addlegendentry{\ion{H}{1}}
>    \addlegendentry{\ion{He}{1}}
>    \addlegendentry{\ion{C}{2}}
>    \addlegendentry{[\ion{N}{2}]}
>    \addlegendentry{[\ion{O}{1}]}
>    \addlegendentry{[\ion{O}{3}]}
>    \addlegendentry{[\ion{Ne}{3}]}
>    \addlegendentry{[\ion{S}{2}]}
>    \addlegendentry{[\ion{S}{3}]}
>    \addlegendentry{[\ion{Ar}{3}]}
>    \addlegendentry{[\ion{Fe}{3}]}
>    \label[Ne3]{marker:Ne3}
>    \addplot [gray,domain=0.2:300] {x};
>  \end{loglogaxis}
> \end{tikzpicture}
>
> The marker for [\ion{Ne}{3}] is \ref{marker:Ne3}
>
> \end{document}
>
>
> Best regards
>
> Christian



-- 

  Dr William Henney, Centro de Radioastronomía y Astrofísica,
  Universidad Nacional Autónoma de México, Campus Morelia

Attachment: ratios-figure-figure10.pdf
Description: Adobe PDF document

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Pgfplots-features mailing list
Pgfplots-features@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pgfplots-features

Reply via email to