Я хочу поменять местами два цвета на рисунке. Пожалуйста, посмотрите на это:
Как вы можете видеть, график "краткосрочной перспективы" на втором рисунке опущен. Таким образом, чтобы уменьшить путаницу при изучении двух рисунков, я хочу изменить цвет "краткосрочной перспективы" на рисунке 1 на коричневый, а "долгосрочной перспективы" на красный. Вот мой код:
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\begin{filecontents}{\jobname Data1.csv}
Price;OneSided;ShortRun;LongRun
5;8.7;4;20.3
10;16;11.7;20.7
15;22.2;18.2;21
20;27.6;23.9;21.3
30;36.3;33.1;21.7
40;43.2;40.3;22.1
50;48.8;46.2;22.4
60;53.3;50.9;22.6
70;57.1;54.9;22.8
80;60.4;58.3;23
90;63.1;61.3;23.1
100;65.6;63.8;23.3
\end{filecontents}
\begin{filecontents}{\jobname Data3.csv}
Price;OneSided;LongRun
5;8.7;14.9
10;16;17.5
15;22.2;20.1
20;27.6;22.7
30;36.3;28
40;43.2;33.2
50;48.8;38.4
60;53.3;43.7
70;57.1;48.9
80;60.4;54.1
90;63.1;59.3
100;65.6;64.6
\end{filecontents}
\begin{document}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotSymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{One-sided}
\addplot table [y=ShortRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Short-run}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotASymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{One-sided}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Я попытался вставить red
или brown
в \addplot table [y=ShortRun,col sep=semicolon]
, как было предложеноздесь, но это ничего не меняет. Может ли кто-нибудь помочь мне разобраться, что я делаю не так?
Также, возможно ли разместить эти фигуры рядом? Я пробовал изменить размер всей фигуры, чтобы они подходили друг другу, но это выглядит не очень хорошо. Может быть, есть какие-то другие решения, которые я мог бы попробовать?
Спасибо за помощь!
решение1
Решение 1: Просто поменяйте местами графики на первом рисунке.
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\begin{filecontents}{\jobname Data1.csv}
Price;OneSided;ShortRun;LongRun
5;8.7;4;20.3
10;16;11.7;20.7
15;22.2;18.2;21
20;27.6;23.9;21.3
30;36.3;33.1;21.7
40;43.2;40.3;22.1
50;48.8;46.2;22.4
60;53.3;50.9;22.6
70;57.1;54.9;22.8
80;60.4;58.3;23
90;63.1;61.3;23.1
100;65.6;63.8;23.3
\end{filecontents}
\begin{filecontents}{\jobname Data3.csv}
Price;OneSided;LongRun
5;8.7;14.9
10;16;17.5
15;22.2;20.1
20;27.6;22.7
30;36.3;28
40;43.2;33.2
50;48.8;38.4
60;53.3;43.7
70;57.1;48.9
80;60.4;54.1
90;63.1;59.3
100;65.6;64.6
\end{filecontents}
\begin{document}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotSymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{One-sided}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Long-run}
\addplot table [y=ShortRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Short-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotASymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{One-sided}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Решение 2: Измените цвет графика на рисунке 2 вручную:
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\begin{filecontents}{\jobname Data1.csv}
Price;OneSided;ShortRun;LongRun
5;8.7;4;20.3
10;16;11.7;20.7
15;22.2;18.2;21
20;27.6;23.9;21.3
30;36.3;33.1;21.7
40;43.2;40.3;22.1
50;48.8;46.2;22.4
60;53.3;50.9;22.6
70;57.1;54.9;22.8
80;60.4;58.3;23
90;63.1;61.3;23.1
100;65.6;63.8;23.3
\end{filecontents}
\begin{filecontents}{\jobname Data3.csv}
Price;OneSided;LongRun
5;8.7;14.9
10;16;17.5
15;22.2;20.1
20;27.6;22.7
30;36.3;28
40;43.2;33.2
50;48.8;38.4
60;53.3;43.7
70;57.1;48.9
80;60.4;54.1
90;63.1;59.3
100;65.6;64.6
\end{filecontents}
\begin{document}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotSymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{One-sided}
\addplot table [y=ShortRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Short-run}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotASymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{One-sided}
\addplot+[brown,mark=*,every mark/.append style={solid, fill=brown}] table [y=LongRun,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Обратите внимание, что форматирование выполняется в \addplot[]
, а не в ... table []
, где +
указывает на добавление.
Решение 3: На рисунке 2 пропустите один шаг впередсписок циклов(последовательность стилей, применяемых к каждому последующему участку). Это можно сделать \pgfplotsset{cycle list shift=1}
следующим образом.
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\begin{filecontents}{\jobname Data1.csv}
Price;OneSided;ShortRun;LongRun
5;8.7;4;20.3
10;16;11.7;20.7
15;22.2;18.2;21
20;27.6;23.9;21.3
30;36.3;33.1;21.7
40;43.2;40.3;22.1
50;48.8;46.2;22.4
60;53.3;50.9;22.6
70;57.1;54.9;22.8
80;60.4;58.3;23
90;63.1;61.3;23.1
100;65.6;63.8;23.3
\end{filecontents}
\begin{filecontents}{\jobname Data3.csv}
Price;OneSided;LongRun
5;8.7;14.9
10;16;17.5
15;22.2;20.1
20;27.6;22.7
30;36.3;28
40;43.2;33.2
50;48.8;38.4
60;53.3;43.7
70;57.1;48.9
80;60.4;54.1
90;63.1;59.3
100;65.6;64.6
\end{filecontents}
\begin{document}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotSymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{One-sided}
\addplot table [y=ShortRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Short-run}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\begin{figure}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotASymmetrischDR}
\centering
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{One-sided}
\pgfplotsset{cycle list shift=1}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
Также, возможно ли разместить эти фигуры рядом? Я пробовал изменить размер всей фигуры, чтобы они подходили друг другу, но это выглядит не очень хорошо. Может быть, есть какие-то другие решения, которые я мог бы попробовать?
Вы видели этот вопрос:Две фигуры рядом?
Аналогично, с точки зрения масштабирования ваших участков,есть разные варианты.
В следующем решении используются мини-страницы для размещения рисунков бок о бок и resizebox для соответствующего масштабирования графиков:
\documentclass[12pt]{article}
\usepackage[left=3cm,top=3.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[english]{babel}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{filecontents}
\usepackage[margin=1cm]{caption}
\captionsetup[figure]{skip=18pt}
\begin{filecontents}{\jobname Data1.csv}
Price;OneSided;ShortRun;LongRun
5;8.7;4;20.3
10;16;11.7;20.7
15;22.2;18.2;21
20;27.6;23.9;21.3
30;36.3;33.1;21.7
40;43.2;40.3;22.1
50;48.8;46.2;22.4
60;53.3;50.9;22.6
70;57.1;54.9;22.8
80;60.4;58.3;23
90;63.1;61.3;23.1
100;65.6;63.8;23.3
\end{filecontents}
\begin{filecontents}{\jobname Data3.csv}
Price;OneSided;LongRun
5;8.7;14.9
10;16;17.5
15;22.2;20.1
20;27.6;22.7
30;36.3;28
40;43.2;33.2
50;48.8;38.4
60;53.3;43.7
70;57.1;48.9
80;60.4;54.1
90;63.1;59.3
100;65.6;64.6
\end{filecontents}
\begin{document}
\begin{figure}
\centering
\begin{minipage}{0.49\textwidth}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotSymmetrischDR}
\centering
\resizebox{\textwidth}{!}{
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{One-sided}
\addplot table [y=ShortRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Short-run}
\addplot table [y=LongRun,col sep=semicolon] {\jobname Data1.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
}
\end{minipage}
\hfill
\begin{minipage}{0.49\textwidth}
\caption[Comparison of critical diversion ratios over different prices]
{Comparison of critical diversion ratios over different prices.}
\label{PlotASymmetrischDR}
\centering
\resizebox{\textwidth}{!}{
\begin{tikzpicture}
\begin{axis}[style={auto},legend pos=north west,ymin=0,
% xtick={5,10,15,20,25,30,40,50,60,70,80,90,100},
x tick label style={/pgf/number format/1000 sep=},
xlabel={Price increase, in \%},
y tick label style={/pgf/number format/1000 sep=},
ylabel={Critical diversion ratio, in \%}
]
\addplot table [y=OneSided,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{One-sided}
\addplot+[brown,mark=*,every mark/.append style={solid, fill=brown}] table [y=LongRun,col sep=semicolon] {\jobname Data3.csv};
\addlegendentry{Long-run}
\end{axis}
\end{tikzpicture}
}
\end{minipage}
\end{figure}
\end{document}