Ich bekomme die Schrift an der y-Achse nicht kleiner; bzgl. dr Vorgabe width=3.5cm, height=2.5cm, - diese Maße soll das Bild insgesamt haben :(

SOLL: Ich möchte in etwa diesen Style erreichen (Wolfram mathematica).

alt text

IST:

alt text

Open in Online-Editor
\documentclass[border=2pt, varwidth]{standalone}
\usepackage{pgfplots}
\usepackage{filecontents}
\begin{filecontents}{data.csv}
5   0   0.59049 0.32768 0.23730 0.16807 0.07776 0.03125
5   1   0.91854 0.73728 0.63281 0.52822 0.33696 0.18750
5   2   0.99144 0.94208 0.89648 0.83692 0.68256 0.50000
5   3   0.99954 0.99328 0.98438 0.96922 0.91296 0.81250
5   4   0.99999 0.99968 0.99902 0.99757 0.98976 0.96875
\end{filecontents}

\makeatletter
\newcommand{\srcsize}{\@setfontsize{\srcsize}{2pt}{5pt}}
\makeatother
\usepackage{lipsum}

\begin{document}

\tiny

\lipsum[1]

\bigskip

\srcsize

\lipsum[1]

\pgfplotsset{mystyle/.style={%
  % allgemein
%  ybar interval,%=10pt, ?  % Balkendiagramm
  /pgf/number format/use comma, % Kommas als Zahlentrennzeichen
  % x und y
  axis lines = middle,% < Achsenstil so früh wie möglich einstellen - er ändert weitere Optionen
  axis line style={-latex}, 
  ticklabel style = {font=\tiny},
  major tick length =2pt, 
  % x
  xmin=0,
  xmax=5, 
  xtick=data,
%  hide obscured x ticks=false,% <- zum Anzeigen des Ticklabels 0 % TUT NET
  xlabel style={anchor=north, font=\tiny,},
  enlarge x limits={abs=10pt,upper},% <- damit die Pfeilspitze an der y-Achse sichtbar ist
  xticklabel style = {yshift=1.5pt, font=\srcsize},
  % y
  ymin=0,
  ymax=1,
  ytick = {0.2, 0.4, ..., 1},
  ytickmax=1,% <- kein Tick oberhalb von y=.9
  ylabel style={anchor=north west, yshift=1ex, font=\tiny,},
  enlarge y limits={abs=10pt,upper},
  yticklabel style = {xshift=2pt, font=\srcsize},
}}%

\begin{tikzpicture}[scale=1.0]
\begin{axis}[mystyle, 
  width=3.5cm, height=2.5cm,
  xlabel={k},
  ylabel={$P(X \leq k)$},
]
  \addplot[draw=gray, thin,  mark=*, mark size=1.0075pt, mark options = {draw=black, fill=white, thin}] table [x index=1, y index=6] {data.csv};
   \addplot[draw=black, ultra thin, densely dashed, domain=0:5.5] {1};
  \end{axis} 
\end{tikzpicture}
\end{document}

gefragt 23 Jan '16, 02:25

cis's gravatar image

cis
9.4k23256465
Akzeptiert-Rate: 29%

bearbeitet 23 Jan '16, 10:43

Henri's gravatar image

Henri
14.6k53340


Das Problem ist, dass der Computer Modern nur in festen Größen gibt. Diese sind auch nicht gleich für alle Schnitte. So gibt es zum Beispiel Computer Modern Roman (cmr) in den Größen 5pt, 6pt, 7pt, 8pt, 9pt, 10pt, 12pt und 17pt. Dahingegen ist Computer Modern Teletype (cmtt) nur in den Größen 8pt, 9pt, 10pt und 12pt verfügbar. Man kann diese Schriften auch in skalierten Größen laden, hier in plain TeX

Open in Online-Editor
\font\tenrm=cmr10
\font\elevenrm=cmr10 at 11pt
\font\twelverm=cmr12

\tenrm H%
\elevenrm H%
\twelverm H

\bye

alt text

Die Schriftgröße 11pt gibt es eigentlich gar nicht, kann aber wie gezeigt emuliert werden. LaTeX lädt in den Standardeinstellungen Computer Modern in den Designgrößen und keinen anderen. Das heißt alle Größen, die nicht verfügbar sind werden auf die nächst nahste gerundet. In deinem Fall wird 2pt auf 5pt aufgerundet. Es gibt aber Abhilfe.

Du hast zwei Möglichkeiten:

  1. Man kann statt der original Computer Modern Schrift, die skalierbare European Computer Modern laden (stimmt nicht ganz, aber das ist zu lang um es zu erklären. Siehe Anleitung). Dies geht mittels \RequirePackage{fix-cm} welches vor \documentclass stehen sollte.
  2. Irgendeine skalierbare Schrift laden, die für Skalierbarkeit designed wurde, wie zum Beispiel Latin Modern (\usepackage{lmodern}).
Permanenter link

beantwortet 23 Jan '16, 11:00

Henri's gravatar image

Henri
14.6k53340
Akzeptiert-Rate: 46%

Aja, gut... ich habe mich jetzt so beholfen:

% Skalierbare Schrift \usepackage{lmodern} \newcommand\mini{\fontsize{2.5pt}{3pt}\selectfont}

Damit klappt es wunderbar.

Allerdings weiß ich bei \fontsize{size}{skip} immer nicht, was man bei skip am besten einstellen sollte (?).

(23 Jan '16, 18:02) cis

Kurze Frage: Ist das so sinnvoll?

\usepackage{lmodern} \newcommand\mini{\fontsize{3.00pt}{\baselineskip}\selectfont}

(25 Jan '16, 22:08) cis
1

@cis Es ist schon eine Wissenschaft für sich den richtigen Zeilenabstand zu wählen, aber das ist definitiv zu viel. Sowas wie \newcommand\mini{\fontsize{3pt}{4pt}\selectfont} erscheint mir eher angebracht. Für deine Anwendung dürfte es aber sowieso egal sein, weil hier im Beispiel nirgends mehrzeiliger Text auftritt.

(25 Jan '16, 22:26) Henri

Naja, ich will das schon gescheit machen. Das werde ich sicher noch öfter brauchen.

(26 Jan '16, 06:27) cis

Aufbauend auf der AW von @Henri:

alt text

Open in Online-Editor
\documentclass[varwidth, border=2pt]{standalone}
%\documentclass[paper=a5]{scrartcl}
\usepackage{microtype}  
%\usepackage{bera}

\usepackage{lmodern}
            \newcommand\mini{\fontsize{3.00pt}{4.00pt}\selectfont}
        %\fontsize{<size>}{<skip>}

\usepackage{pgffor}
\begin{document}

{\mini  Meine Schriftgr{\"o}{\ss}e} \bigskip

\def\Text{Das ist ein Text.}
\foreach \p in {0.5,0.75,1,2,...,19,19.3}{%%
\fontsize{\p pt}{\p pt}\selectfont \Text \,--\,  Schriftgr{\"o}{\ss}e: \p pt \par
}%%
\end{document}
Permanenter link

beantwortet 26 Jan '16, 06:54

cis's gravatar image

cis
9.4k23256465
Akzeptiert-Rate: 29%

bearbeitet 26 Jan '16, 08:18

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×279

gestellte Frage: 23 Jan '16, 02:25

Frage wurde gesehen: 5,423 Mal

zuletzt geändert: 26 Jan '16, 08:18