Ich würde gerne die Ladegradabhängigkeit verschiedener Linien farbig darstellen. Dazu habe ich bisher die Funktion opacity genutzt. Leider ist der Farbverlauf nicht eindeutig genug. Gibt es eine Möglichkeit den Farbverlauf nicht über ein Abschwächen der Farbe, sondern als Farbverlauf hin zu einer anderen Farbe zu realisieren? Beispielsweise von grün zu grau? So wie hier: alt text Die Darstellung der Legende gefällt mir ebenfalls sehr gut. Wie stelle ich diese so dar, dass die ausgefüllten Rechtecke ähnlich groß sind. Dies wäre sehr nützlich, um die Farbe genau erkennen zu können.

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{siunitx}
\begin{document}

\begin{figure}
\centering 
\begin{tikzpicture}
\begin{axis}[%
domain=-14:0,
scale=0.85,
width=0.95\linewidth,
height=9cm,
scale only axis,
separate axis lines,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{black}\footnotesize},
every y tick label/.append style={font=\color{black}\footnotesize},
xmin=-14,
xmax=0,
ymin=2.5,
ymax=4.2,
xlabel={Strom in $\SI{}{\ampere}$},
ylabel={Spannung in $\SI{}{\volt}$},
ylabel near ticks,
xlabel near ticks,
axis background/.style={fill=white},
scaled ticks=false,
y tick label style={/pgf/number format/.cd,use comma,fixed,precision=3},
legend style={at={(1,0)},anchor=south east}
]
\addlegendimage{white,fill=red,area legend}
\addlegendimage{white,fill=red,opacity=0.9,area legend}
\addlegendimage{white,fill=red,opacity=0.7,area legend}
\addlegendimage{white,fill=red,opacity=0.5,area legend}
\addlegendimage{white,fill=red,opacity=0.3,area legend}
\addlegendimage{white,fill=red,opacity=0.1,area legend}
\addplot+[mark=none, very thick, red] {0.0140*x + 4.18};
\addlegendentry{$\SI{100}{\percent}$}
\addplot+[mark=none, very thick, red, opacity=0.9] {0.0142*x + 4.01};
\addlegendentry{$\SI{90}{\percent}$}
\addplot+[mark=none, very thick, red, opacity=0.7] {0.0146*x + 3.9};
\addlegendentry{$\SI{70}{\percent}$}
\addplot+[mark=none, very thick, red, opacity=0.5] {0.0144*x + 3.7};
\addlegendentry{$\SI{50}{\percent}$}
\addplot+[mark=none, very thick, red, opacity=0.3] {0.014*x + 3.6};
\addlegendentry{$\SI{30}{\percent}$}
\addplot+[mark=none, very thick, solid, red,, opacity=0.1] {0.015*x + 3.4};
\addlegendentry{$\SI{10}{\percent}$}
\end{axis}
\end{tikzpicture}
\label{fig:Test}
\end{figure} 
\end{document}

gefragt 20 Apr, 08:58

Tobolf's gravatar image

Tobolf
613
Akzeptiert: 0%

bearbeitet 20 Apr, 12:10

(20 Apr, 10:50) saputello

Hier ein Übergang von blau nach rot.

Öffne in Overleaf
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepackage{siunitx}
\begin{document}

\begin{figure}
  \centering 
  \begin{tikzpicture}
    \begin{axis}[%
      domain=-14:0,
      scale=0.85,
      width=0.95\linewidth,
      height=9cm,
      scale only axis,
      separate axis lines,
      every outer x axis line/.append style={black},
      every x tick label/.append style={font=\color{black}\footnotesize},
      every y tick label/.append style={font=\color{black}\footnotesize},
      xmin=-14,
      xmax=0,
      ymin=2.5,
      ymax=4.2,
      xlabel={Strom in $\SI{}{\ampere}$},
      ylabel={Spannung in $\SI{}{\volt}$},
      ylabel near ticks,
      xlabel near ticks,
      axis background/.style={fill=white},
      scaled ticks=false,
      y tick label style={/pgf/number format/.cd,use comma,fixed,precision=3},
      legend style={at={(1,0)},anchor=south east},
      every axis plot/.style = {
        no markers, very thick, solid,
        legend image code/.code={
          \filldraw[#1] (0cm,-0.1cm) rectangle (0.6cm,0.1cm);
        },
      }
      ]
      \addplot[red!0!blue] {0.0140*x + 4.18};
      \addlegendentry{$\SI{100}{\percent}$}
      \addplot[red!20!blue] {0.0142*x + 4.01};
      \addlegendentry{$\SI{90}{\percent}$}
      \addplot[red!40!blue] {0.0146*x + 3.9};
      \addlegendentry{$\SI{70}{\percent}$}
      \addplot[red!60!blue] {0.0144*x + 3.7};
      \addlegendentry{$\SI{50}{\percent}$}
      \addplot[red!80!blue] {0.014*x + 3.6};
      \addlegendentry{$\SI{30}{\percent}$}
      \addplot[red!100!blue] {0.015*x + 3.4};
      \addlegendentry{$\SI{10}{\percent}$}
    \end{axis}
  \end{tikzpicture}
  \label{fig:Test}
\end{figure} 
\end{document}

alt text

Permanenter link

beantwortet 21 Apr, 05:54

Henri's gravatar image

Henri
10.9k42130

Hier ist mal noch eine Alternative, bei der eine Farbserie mit 100 Schritten definiert wird und die Legende unabhängig von den Plots in einer Schleife erstellt wird.

Öffne in Overleaf
\documentclass[margin=5pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}% lädt auch tikz
\pgfplotsset{compat=1.14}

% Farbserie mit 100 Schritten definieren
\definecolorseries{plotcolor}{rgb}{last}{yellow}{blue}
\resetcolorseries[100]{plotcolor}

% Eigener Legendenstil
\pgfplotsset{
  my area legend/.style={
    draw=none,
    inner ysep=0pt,
    inner xsep=3pt,
    row sep=-.5\pgflinewidth,
    nodes={inner ysep=0pt},
    legend image code/.code={%
      \filldraw[#1,draw=none] (0cm,-0.08cm) rectangle (0.4cm,0.08cm);
    }
  },
  myplotcolor/.style={plotcolor!![#1]}
}

\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[%
    domain=-14:0,
    scale=0.85,
    width=0.95\linewidth,
    height=9cm,
    scale only axis,
    separate axis lines,
    every outer x axis line/.append style={black},
    every x tick label/.append style={font=\color{black}\footnotesize},
    every y tick label/.append style={font=\color{black}\footnotesize},
    xmin=-14,
    xmax=0,
    ymin=2.5,
    ymax=4.2,
    xlabel={Strom in $\si{\ampere}$},
    ylabel={Spannung in $\si{\volt}$},
    axis background/.style={fill=white},
    scaled ticks=false,
    y tick label style={/pgf/number format/.cd,use comma,fixed,precision=3},
    legend style={
      at={(1,0)},yshift=5pt,xshift=-1em,anchor=south east,
      my area legend,
      name=legend
    },
    every axis plot/.style={no markers,very thick,solid}
  ]
    % Legende
    \pgfplotsinvokeforeach {100,90,...,10}{
      \addlegendimage{myplotcolor=#1,my area legend}
      \addlegendentry{}
    }
    %Plots
    \addplot[myplotcolor=100] {0.0140*x + 4.18};
    \addplot[myplotcolor=90] {0.0142*x + 4.01};
    \addplot[myplotcolor=70] {0.0146*x + 3.9};
    \addplot[myplotcolor=50] {0.0144*x + 3.7};
    \addplot[myplotcolor=30] {0.014*x + 3.6};
    \addplot[myplotcolor=10] {0.015*x + 3.4};
  \end{axis}
  % Beschriftung der Legende
  \path[nodes={font=\tiny,inner xsep=0pt}]
    (legend.north west) node [anchor= east] {$100$}
    (legend.west) node [anchor= east] {$50$}
    (legend.south west) node [anchor= east] {$0$}
    (legend.north) node [anchor=south] {Par\,[$\si{\percent}$]}
  ;
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 21 Apr, 08:01

esdd's gravatar image

esdd
14.9k53651

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×191
×2

Frage gestellt: 20 Apr, 08:58

Frage wurde angeschaut: 105 Mal

Zuletzt aktualisiert: 21 Apr, 08:01