Bar Chart mit kleiner Y-Range

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Bar Chart mit kleiner Y-Range

von feuersaenger » Di 29. Okt 2013, 20:15

Hi,

das Problem entsteht dadurch, dass Koordinaten "relativ" weit ausserhalb des Sichtbaren Bereichs geplottet werden.

Das "weit" bezieht sich dabei auf den Faktor, der zwischen der Breite des angezeigten Gebiets und den aussenstehenden Koordinaten besteht (d.h. ymax-ymin im Vergleich zu der groessten y koordinate).

Dem kann abgeholfen werden, indem die weit aussenliegenden Koordinaten auf ein "annehmbares" Mass gezwungen werden. Das aendert typischerweise nichts am Aussehen, das sie ohnehin weit ausserhalb des sichtbaren Bereiches sind - aber TeX meckert nicht mehr.

Konkret:
restrict x to domain*=0:3,
restrict y to domain*=0.8:2,
Dieser Key forziert x bzw. y auf die angegebenen Bereiche. Falls ein Punkt rausfaellt, wird er auf die Intervallgrenze gezwungen (das ist der Effekt des Asterisk).

Vielleicht musst Du ein bisschen mit den Parametern rumspielen, aber obige passten bei mir.

Mit liebem Gruss

Christian

von doeminick » Mo 28. Okt 2013, 21:19

Entschuldigung, ich hatte die Regel über Crossposts nicht gelesen (btw, handelt es sich nicht um Multiposts dann ;) )?
Ich wollte einfach eine möglichst große Gemeinde alsbald ansprechen, da ich diese Graphik für eine Abgabe in naher Zeit benötige. Könnte mir jemand trotzdem helfen?

von Johannes_B » Mo 28. Okt 2013, 20:47

Crosspost auf LaTeX Community

Bar Chart mit kleiner Y-Range

von doeminick » Mo 28. Okt 2013, 19:54

Hi!

Ich möchte ein Bar Graph erzeugen und nutze dafür matlab2tikz. Das klappt auch alles gut, bis auf einen Graphen. Hierbei betrachte ich nur einen kleinen Ausschnitt auf der Y-Achse und kriege "Dimension too large" Fehler. Daher habe ich in die pgfplots-Manual geschaut und auch gefunden, dass diese Fehler bei Daten die sehr nah aneinander liegen entstehen, jedoch kein Problem bei absoluten Werten größer sind, relativ aber gleich sind sein sollte. Also einfach mal alle Werte x1000 genommen um dann nachher einfach die Y-Tickz per Hand zu setzen. Aber nein, gleicher Fehler obwohl nun ymin=996 und ymax=1002 sind.

Kann mir jemand Hilfe geben? Vielen Dank :).

Hier mein (ursprünglicher) Tikz Code:
% This file was created by matlab2tikz v0.4.1.
% Copyright (c) 2008--2013, Nico Schlömer <nico.schloemer@gmail.com>
% All rights reserved.
% 
% The latest updates can be retrieved from
%   http://www.mathworks.com/matlabcentral/fileexchange/22022-matlab2tikz
% where you can also make suggestions and rate matlab2tikz.
% 
% 
% 

% defining custom colors
\definecolor{mycolor1}{rgb}{0,0,0.00520833333333333}%

\begin{tikzpicture}
\begin{axis}[%
width=\figurewidth,
height=\figureheight,
area legend,
scale only axis,
xmin=0.5,
xmax=4.5,
xtick={1,2,3,4},
xticklabels={A,B,C,D},
ymin=0.996,
ymax=1.002,
ylabel={Verbesserung},
ymajorgrids,
legend style={at={(0.5,1.03)},anchor=south,legend columns=2,draw=black,fill=white,legend cell align=left}
]
\addplot[ybar,bar width=0.0571428571428571\figurewidth,bar shift=-0.0357142857142857\figurewidth,fill=mycolor1,draw=black] plot coordinates{(1,1)
(2,1)
(3,1)
(4,1)};

\addlegendentry{Ohne};

\addplot [
color=black,
solid,
forget plot
]
table[row sep=crcr]{
0.5 0\\
4.5 0\\
};
\addplot[ybar,bar width=0.0571428571428571\figurewidth,bar shift=0.0357142857142857\figurewidth,fill=white,draw=black] plot coordinates{(1,1.00063267718012)
(2,1.00016121821389)
(3,1.00108135520258)
(4,0.999543145163719)};

\addlegendentry{Mit};

\end{axis}
\end{tikzpicture}%

Nach oben