Anzeige:
Ergebnis 1 bis 4 von 4

Thema: Latex dot plot mit Buchstaben

  1. #1
    Registrierter Benutzer
    Registriert seit
    06.09.2017
    Beiträge
    3

    Latex dot plot mit Buchstaben

    Hallo da draussen,

    nach dem ich per Schlagwortsuche nicht fündig geworden bin, wende ich mich mit meiner "Challenge" an euch.
    Ich möchte in latex Daten plotten, und zwar sollen auf jedem Inkrement der X-Achse 20 Werte geplottet werden, jeder Wert soll anstatt von einem Punkt oder ähnlichem Marker von einem Buchstaben (1 Buchstabencode der Aminosäuren) repräsentiert werden.
    Also auf den 15 Inkrementen entlang der X-Achse werden jeweils 20 Werte geplottet (siehe Beispielbild).
    Beispiel_Graf.jpg

    Ich denke was dem Plot am nächsten kommt ist ein dot plot mit pgfplots. Allerdings habe ich bisher nichts gefunden ob oder wie man die typischen Marker (Kreis, Viereck, Diamant ect) gegen andere Zeichen austauschen kann.
    Wahrscheinlich suche ich auch in der komplett falschen Richtung.

    Über Hinweise und Vorschläge wäre ich sehr dankbar!

  2. #2
    Registrierter Benutzer Avatar von rais
    Registriert seit
    18.07.2005
    Beiträge
    5.859
    wenn ich Dich recht verstehe, schau in `texdoc pgfplots' nach ``mark=text''.

    VG
    Rainer
    There's nothing a good whack with a hammer won't fix!

  3. #3
    Registrierter Benutzer
    Registriert seit
    06.09.2017
    Beiträge
    3
    Hallo rais,
    vielen Dank für den Tipp. Habe damit direkt einen anderen Beitrag mit Beispiel gefunden an dem ich starten kann (https://tex.stackexchange.com/questi...rk-in-pgfplots). (Ich denke mein Fehler war nach "Letter" statt "Character" zu suchen xX)
    Falls jemand noch weitere Ideen zu der Aufgabe hat bin ich immer noch interessiert. Hoffe aber bald die Lösung teilen zu können.
    VG

  4. #4
    Registrierter Benutzer
    Registriert seit
    06.09.2017
    Beiträge
    3
    So der vollständigkeit halber hier die Lösung zu meinem oben beschriebenen Problem:

    Danke rais für den tip mit 'mark=text', das war genau das Richtige!!!!
    Und zwar habe ich eine cycle list erstellt, in der ich die option 'mark=text, text mark=A' (für den Buchstaben A) gesetzt habe.

    Nach folgend ein (fast) "Minimalbeispiel" des Codes (Ich verwende Group-Plot da ich letztendlich 2x5 dieser Graphen plotte).
    Die eingelesene Datei "Data.txt" ist eine tab-separierte Tabelle mit 21 Spalten und 16 Zeilen. Die erste Zeile enthält die Spaltenüberschriften x1 (für die X-Koordinate) und die 20 Buchstaben die der 1-Buchstabenabkürzung der 20 natürlichen Aminosäuren entsprechen (A-Y). Die Marker sind entsprechend der chemischen Eigenschaften der Aminosäuren in rot, grün, orange, gelb und blau eingefärbt.

    %Packete (evtl benötigt man gar nicht alle dafür...)
    \usepackage{pgfplots,filecontents}
    \usepackage{tikzscale}
    \usepackage{tikz}
    \usepackage{pgfplotstable}
    \usetikzlibrary{plotmarks}
    \usepgfplotslibrary{groupplots}

    %%%% Farben definieren
    \definecolor{S3}{RGB}{151,3,14} %rot
    \definecolor{S5}{RGB}{72,140,19} %gruen
    \definecolor{S2}{RGB}{218,75,15} %orange
    \definecolor{S4}{RGB}{233,177,4} %gelb
    \definecolor{S1}{RGB}{27, 85, 192} %blau

    %%% plot cycle list definieren: farbe und markersymbol
    \pgfplotscreateplotcyclelist{Fingerprints}{
    {S1, only marks, samples=20, mark=text, text mark=\textbf{A}},
    {S2,only marks, samples=20, mark=text,text mark=\textbf{C}},
    {S3,only marks, samples=20, mark=text, text mark=\textbf{D}},
    {S3,only marks, samples=20, mark=text,text mark=\textbf{E}},
    {S4, only marks, samples=20, mark=text, text mark=\textbf{F}},
    {S1, only marks, samples=20, mark=text, text mark=\textbf{G}},
    {S5, only marks, samples=20, mark=text, text mark=\textbf{H}},
    {S1, only marks, samples=20, mark=text, text mark=\textbf{I}},
    {S5, only marks, samples=20, mark=text, text mark=\textbf{K}},
    {S1, only marks, samples=20, mark=text, text mark=\textbf{L}},
    {S1, only marks, samples=20, mark=text, text mark=\textbf{M}},
    {S2, only marks, samples=20, mark=text, text mark=\textbf{N}},
    {S2, only marks, samples=20, mark=text, text mark=\textbf{P}},
    {S2, only marks, samples=20, mark=text, text mark=\textbf{Q}},
    {S5, only marks, samples=20, mark=text, text mark=\textbf{R}},
    {S2, only marks, samples=20, mark=text, text mark=\textbf{S}},
    {S2, only marks, samples=20, mark=text, text mark=\textbf{T}},
    {S1, only marks, samples=20, mark=text, text mark=\textbf{V}},
    {S4, only marks, samples=20, mark=text, text mark=\textbf{W}},
    {S4, only marks, samples=20, mark=text, text mark=\textbf{Y}}
    }

    %%%% Tabellen einlesen
    \pgfplotstableread[col sep=space]{Data.txt}{\Data}

    \begin{tikzpicture}
    \begin{groupplot}[group style = {group size = 1 by 1 vertical sep=1.3cm},
    cycle list name=Fingerprints ,
    xtick={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15},
    xticklabels={I,H,L,V,E,N,E,S,S,E,T,G,A,T,N},
    height = 3.9cm, width = 7.5cm]

    \nextgroupplot[ title=1,
    ymin=0.3,
    ymax=1.5,
    ytick={0.6,1,1.5},
    ylabel=Normalized mean intensity /\%,
    xlabel=Amino acid sequence]

    \addplot+ table [y=A, x=x1] from \Data;
    \addplot+ table [y=C, x=x1] from \Data;
    \addplot+ table [y=D, x=x1] from \Data;
    \addplot+ table [y=E, x=x1] from \Data;
    \addplot+ table [y=F, x=x1] from \Data;
    \addplot+ table [y=G, x=x1] from \Data;
    \addplot+ table [y=H, x=x1] from \Data;
    \addplot+ table [y=I, x=x1] from \Data;
    \addplot+ table [y=K, x=x1] from \Data;
    \addplot+ table [y=L, x=x1] from \Data;
    \addplot+ table [y=M, x=x1] from \Data;
    \addplot+ table [y=N, x=x1] from \Data;
    \addplot+ table [y=P, x=x1] from \Data;
    \addplot+ table [y=Q, x=x1] from \Data;
    \addplot+ table [y=R, x=x1] from \Data;
    \addplot+ table [y=S, x=x1] from \Data;
    \addplot+ table [y=T, x=x1] from \Data;
    \addplot+ table [y=V, x=x1] from \Data;
    \addplot+ table [y=W, x=x1] from \Data;
    \addplot+ table [y=Y, x=x1] from \Data;

    \end{groupplot}
    \end{tikzpicture}

    %-----------

    VG

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •