3

When importing the following figure enter image description here

using the Matlab2Tikz, I obtain the following output enter image description here , with the xticks strangely exported . Does any one have an idea how I can prevent this? Maybe by passing an extra inut to the matlab2tikz function?

Hier is a simple Matlab Code :

close all
x=linspace(5*10^-2,10*10^-2);
y1=-4*10^5*x+2;
y2=-4*10^5*x+1;
figure;
    subplot(121);plot(x,y1);xlabel('x');ylabel('y')
    subplot(122);plot(x,y2);xlabel('x');ylabel('y')
matlab2tikz('Test.tikz','standalone', true,'extraAxisOptions','label style={font=\Large}') 

The obtained *.Tikz file without the data:

\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\usepackage{amsmath}
\begin{document}
\begin{tikzpicture}

\begin{axis}[%
width=1.95217803030303in,
height=3.565625in,
scale only axis,
xmin=0.04,
xmax=0.1,
xlabel={x},
ymin=-40000,
ymax=-15000,
ylabel={y},
name=plot1,
label style={font=\Large}
]
\addplot [
color=blue,
solid,
forget plot
]
table[row sep=crcr]{
5
  • Could you add a minimal working example (MWE) of the Matlab code you're using to generate the Matlab figure, as well as the matlab2tikz command? This might make it easier for us to identify the problem.
    – eiterorm
    May 20, 2014 at 8:34
  • Why is it strange that the xlabels are exported from MATLAB? Is this not expected? I think the simplest solution would be to refrain from setting xlabel in MATLAB. Or call matlab2tikz before adding the xlabels, if they are required for your visualization in MATLAB. May 20, 2014 at 17:55
  • 1
    I think what the question actually means is xtick and not xlabel.
    – Ali
    May 20, 2014 at 17:59
  • @Ali, if that's the case, xticklabel style={/pgf/number format/fixed} should be added to the value of matlab2tikz's 'extraAxisOptions' key. May 20, 2014 at 18:11
  • @PaulGessler Sorry, as Ali said, I meant the xticks . May 21, 2014 at 11:20

1 Answer 1

2

You can scale your ticks to get rid of powers of 10 and get a more elegant look on your axes. Alternatively, as Paul Gessler suggested, you can also use fixed formatting with desired precision. The example below gives you the idea.

\documentclass[tikz,border=2pt]{article}

\usepackage{pgfplots}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
\begin{axis}[%
  width=2in,
  height=3in,
  xlabel={$x$},
  ylabel={$x^2$},
  ylabel near ticks,
  every axis label/.style={font=\small},
  scaled x ticks=base 10:2,
  scaled y ticks=base 10:-3,
  every tick label/.style={font=\footnotesize},
  tick scale binop=\times,
  title={With scaled x ticks},
  title style={above=1.5ex},
]
\addplot [color=black,solid,mark=o,domain=0.04:0.1,samples=10] {-4*10^5*x+1};
\end{axis}
\end{tikzpicture}
%
\begin{tikzpicture}
\begin{axis}[%
  width=2in,
  height=3in,
  xlabel={$x$},
  xticklabel style={
    /pgf/number format/precision=2,
    /pgf/number format/fixed,
    /pgf/number format/fixed zerofill,
  },
  ylabel={$x^2$},
  ylabel near ticks,
  every axis label/.style={font=\small},
  every tick label/.style={font=\footnotesize},
  tick scale binop=\times,
  title={With fixed x ticks},
  title style={above=1.5ex},
]
\addplot [color=black,solid,mark=o,domain=0.04:0.1,samples=10] {-4*10^5*x+1};
\end{axis}
\end{tikzpicture}

\end{document}

enter image description here

1
  • 1
    Sorry for the late comment, but this problem is occuring so many times, and how can I force pgflatex to take the same xticks from Matlab? Dec 5, 2014 at 11:49

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.