Как мне повернуть этот график pgf рядом с гистограммой с двумя метками оси y

У меня есть следующий код, который примерно соответствует диаграмме, которую я хочу создать с помощью tikz:

\begin{tikzpicture}
\begin{axis}[
% (normal text should not be set in math mode)
xlabel=,
ylabel=,
% if you use `data' ticks will be set on every x coordinate that is
% given by the *first* `\addplot' command
xtick=data,
xticklabels={
    Control,
    Voucher,
    Transfer%
},
ytick=data,
yticklabels={
    No increase,
    Increase%
},
% use the following key so the baseline of all ticklabel entries is the same
% (compare this image to the one from marmot)
typeset ticklabels with strut,
% there is one default value for the `legend pos' that is outside the axis
legend pos=outer north east,
% (so the legend looks a bit better)
legend cell align=left,
% (moved this common key here),
]
% (renamed `plot coordinates' by `coordinates'
\addplot [mark=*,blue] coordinates {
    (1,1)
    (2,1)
    (3,1)
};

\addplot [color=red,mark=x] coordinates {
    (1,1)
    (2,1)
    (3,2)
};

\addplot [color=green,mark=x] coordinates {
    (1,1)
    (2,2)
    (3,2)
};

% (replaced `\addlegendentry's with `\legend')
\legend{
    Pure Altruism,
    Warm Glow,
    Mental Accounting,
}
\end{axis}
\end{tikzpicture}

введите описание изображения здесь

Как видите, я попытался добавить метки отметок оси Y, но на самой диаграмме этого не произошло. Кроме того, то, что я пытаюсь проиллюстрировать, носит дискретный характер, поэтому я хочу, чтобы для каждого тика на оси x было три смежных столбца, которые будут показывать, должен ли уровень быть `` высоким '' или `` низким '' согласно каждой из теорий в легенда.

Как я могу преобразовать это в гистограмму с тремя соседними полосами и добавить две метки оси Y, которые мне нужны?


person spar31415    schedule 06.02.2018    source источник


Ответы (1)


Согласно этому ответу, когда вы используете ytick=data, метки извлекаются из первой использованной \addplot команды. Ваша первая \addplot команда содержит только 1 в виде метки y.

Вы можете явно определить метки:

ytick={1, 2},

или измените порядок ваших \addplot команд, чтобы сначала была более репрезентативная (одна со всеми метками с метками x и со всеми метками с метками y).

введите описание изображения здесь

person pchaigno    schedule 07.02.2018