# yticklabels Problems

I'm going to draw a certain function from a .txt file. I'd like to specify/to highlight a point of that function on the function itself by a marker and a label.

Moreover, I'd like to put a notch on the x-axis and a label.

Can you suggest the code needed to carry it out?

Thank you!!!

What is following is the code I wrote.

\documentclass[a4paper, landscape, 8pt]{book}

\usepackage{etex}
\usepackage{etoolbox}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{microtype}

\usepackage{tikz, siunitx, pgfplots, relsize, pgfmath}
\usetikzlibrary{intersections, pgfplots.units}

\usepgfplotslibrary{units}

\begin{document}

\pgfplotsset{change x base,
x SI prefix=milli,
change y base,
y SI prefix=micro
}

\pgfplotsset{
every axis/.append style = {
font=\relsize{1},
% riguarda le tick labels
line width = 1pt,
% oppure: thin, semithick, thick,
% very thick
tick style = {line width = 1pt}
},
every axis x label/.append style = {
font = \relsize{2}
},
every axis y label/.append style = {
font = \relsize{2},
rotate = -90
%xshift = -0.7em,
%yshift = -1.4em
},
major grid style = {
line width = 0.5pt,
gray,
%dash pattern = on 4pt off 4pt
},
every axis title/.append style = {
font = \relsize{1}
},
legend style={at={(850e-3, 700e-3)},anchor=north, line width=1pt}
}

\begin{tikzpicture}
\begin{axis}
[   axis background/.style={fill=gray!15},
%axis x line=bottom,
%axis y line=left,
xmin=-0.3, xmax=0.3,
ymin=-0.000004, ymax=0.000004,
x unit=V,
%x unit prefix=m,
y unit=A,
%y unit prefix=u,
minor x tick num = 1,
minor y tick num = 1,
width=12cm, height=9cm,
grid=major,
%xtick = {-0.3,-0.2,...,0.3},
%ytick = {-0.000004,-0.000003,...,0.000004},
xlabel = {$V_d$},
ylabel=$I_{d_1}-I_{d_2}$
]
\end{axis}

\end{tikzpicture}

\end{document}

• Please add to your question a simple test file diffecorrenti.txt so your example becomes quickly compilable for everyone. Dec 14 '14 at 17:02
• I'm sorry. The file could not be easy to handle because of the fact that it is very "heavy". I'll try to post two photos so that everyone can understand the problem. Dec 14 '14 at 17:08
• @leoleoleo: Instead of posting pictures, it would be much better if you could reduce the code to make it self-contained: Remove all the lines that don't have anything to do with your question (\usepackage{etex}, for example, or font=\relsize{1} and so on) and include some dummy data.
– Jake
Dec 14 '14 at 17:18
• The problem is very similar to this one: tex.stackexchange.com/questions/129571/…..... BUT I have got a txt and not a math function. THANKS a lot. Dec 14 '14 at 17:30
• @leoleoleo Then make a much shorter data file and post that in the example. Beyond that, how do you want the point selected: "highlight the point nearest (or at) x=k", "highlight the k-th point", ...? Dec 14 '14 at 18:16

One possibility; for this example I used the following simple file diffecorrenti.txt:

1 2
3 -3
4 5
6 7


and suppressed parts of the original code that were not relevant to the question and to the solution.

1. For the first requirement, you can use the axis cs coordinate system to place a \node with some predefined style at the desired location at one point in your graph. In the example I did this in two ways:

• Using a simple \node in the shape of a filled circle and used the label key to place the label.
• Using a \node and a pin to add the label.
2. For the second requirement, you can use the extra x ticks (and perhaps also extra x tick labels) to add additional tick positions and tick labels to the x axis.

The code:

\documentclass{book}
\usepackage{pgfplots}

\tikzset{
every pin/.style={
fill=orange!20,
font=\footnotesize
},
small dot/.style={
fill=orange!70!black,
circle,
scale=0.5,
}
}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
axis background/.style={fill=gray!15},
minor x tick num = 1,
minor y tick num = 1,
width=12cm,
height=9cm,
grid=major,
xlabel = {$V_d$},
ylabel=$I_{d_1}-I_{d_2}$,
extra x ticks={1.2,4.7},
extra x tick labels={extra1,extra2},
extra x tick style={
grid=none,
font=\footnotesize\color{red},
tick label style={rotate=90}
}
]
\node[small dot,label=left:{$(4,5)$}] at (axis cs:4,5) {};
\node[small dot,pin=30:{$(3,-3)$}] at (axis cs:3,-3) {};