![легенда гистограммы pgfplot и маркировка по оси Y](https://rvso.com/image/328822/%D0%BB%D0%B5%D0%B3%D0%B5%D0%BD%D0%B4%D0%B0%20%D0%B3%D0%B8%D1%81%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20pgfplot%20%D0%B8%20%D0%BC%D0%B0%D1%80%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0%20%D0%BF%D0%BE%20%D0%BE%D1%81%D0%B8%20Y.png)
Я хотел бы спросить, как получить результаты.
Мой код:
\begin{tikzpicture}
\begin{axis}[ybar stacked,
legend style={cells={anchor=west},at={(1.75,0.89)}}, area legend,
%legend style={at={(1,-1)}, anchor=north,legend columns=-1,legend cell align=left},
x tick label style={ /pgf/number format/1000 sep=},
ylabel=Revenue (\$\,billions),
enlargelimits=0.05,width=10cm,height=12cm,
bar width=12pt,
]
\addplot coordinates
{(2012,1388) (2013,1388) (2014,1388) (2015,1388) (2016,1388) (2017,1388) (2018,1500)};
\addlegendentry{\textsc{InkJet Head}}
\addplot coordinates
{( 2012 , 2995 ) ( 2013 , 3144.75 ) ( 2014 , 3294.5 ) ( 2015 , 2126.45 ) ( 2016 , 3594 ) ( 2017 , 3893.5 ) ( 2018 , 4342.75 ) };
\addlegendentry{\textsc{Pressure sensors}}
\addplot coordinates
{( 2012 , 3594 ) ( 2013 , 3923.45 ) ( 2014 , 4193 ) ( 2015 , 4432.6 ) ( 2016 , 4792 ) ( 2017 , 5091.5 ) ( 2018 , 5450.9 ) };
\addlegendentry{\textsc{Microphones}}
\addplot [color=yellow, fill=yellow] coordinates
{( 2012 , 5361.05 ) ( 2013 , 5450.9 ) ( 2014 , 5690.5 ) ( 2015 , 5960.05 ) ( 2016 , 6289.5 ) ( 2017 , 6529.1 ) ( 2018 , 6738.75 )};
\addlegendentry{\textsc{Accelerometers}}
\addplot [color=black, fill=white] coordinates
{( 2012 , 6648.9 ) ( 2013 , 6888.5 ) ( 2014 , 7128.1 ) ( 2015 , 7188 ) ( 2016 , 7457.55 ) ( 2017 , 7637.25 ) ( 2018 , 7787 )};
\addlegendentry{\textsc{Gyroscopes}}
\addplot [color=violet, fill=violet] coordinates
{( 2012 , 6948.4 ) ( 2013 , 7337.75 ) ( 2014 , 7547.4 ) ( 2015 , 7727.1 ) ( 2016 , 7787 ) ( 2017 , 8086.5 ) ( 2018 , 8236.25 )};
\addlegendentry{\textsc{Digital compass}}
\addplot [color=gray, fill=gray] coordinates
{( 2012 , 7337.75 ) ( 2013 , 7906.8 ) ( 2014 , 8445.9 ) ( 2015 , 9164.7 ) ( 2016 , 9584) ( 2017 , 10033.25 ) ( 2018 , 10482.5 ) };
\addlegendentry{\textsc{Inertial combos}}
\addplot [color=purple, fill=purple] coordinates
{(2012,7487.5) (2013,8176.35) (2014,8835.25) (2015,9494.15) (2016,10033.25) (2017,10632.25) (2018,11021.6)};
\addlegendentry{\textsc{Microbolometers}}
\addplot [color=pink, fill=pink] coordinates
{( 2012 , 7547.4 ) ( 2013 , 8236.25 ) ( 2014 , 8850.225 ) ( 2015 , 9509.125 ) ( 2016 , 10048.225 ) ( 2017 , 10647.225 ) ( 2018 , 11081.5 ) };
\addlegendentry{\textsc{PIR \& thermopiles}}
\addplot [color=olive, fill=olive] coordinates
{( 2012 , 7562.375 ) ( 2013 , 8251.225 ) ( 2014 , 8865.2 ) ( 2015 , 9524.1 ) ( 2016 , 10063.2 ) ( 2017 , 10662.2 ) ( 2018 , 11096.475 ) };
\addlegendentry{\textsc{Micro displays}}
\addplot [color=magenta, fill=magenta] coordinates
{( 2012 , 8386 ) ( 2013 , 9134.75 ) ( 2014 , 10033.25 ) ( 2015 , 10886.825 ) ( 2016 , 11740.4 ) ( 2017 , 12608.95 ) ( 2018 , 13477.5 ) };
\addlegendentry{\textsc{Projection systems}}
\addplot [color=lime, fill=lime] coordinates
{( 2012 , 8685.5 ) ( 2013 , 9434.25 ) ( 2014 , 10332.75 ) ( 2015 , 11081.5 ) ( 2016 , 12129.75 ) ( 2017 , 12938.4 ) ( 2018 , 13926.75 ) };
\addlegendentry{\textsc{Other optical MEMS}}
\addplot [color=green, fill=green] coordinates
{( 2012 , 8985 ) ( 2013 , 10003.3 ) ( 2014 , 10931.75 ) ( 2015 , 12219.6 ) ( 2016 , 13417.6 ) ( 2017 , 14825.25 ) ( 2018 , 16472.5 ) };
\addlegendentry{\textsc{Microfluidics for research}}
\addplot [color=cyan, fill=cyan] coordinates
{( 2012 , 9823.6 ) ( 2013 , 10931.75 ) ( 2014 , 12129.75 ) ( 2015 , 13537.4 ) ( 2016 , 15124.75 ) ( 2017 , 16831.9 ) ( 2018 , 19018.25 ) };
\addlegendentry{\textsc{Microfluidics for IVD}}
\addplot [color=brown, fill=brown] coordinates
{( 2012 , 10123.1 ) ( 2013 , 11231.25 ) ( 2014 , 12579 ) ( 2015 , 14076.5 ) ( 2016 , 15723.75 ) ( 2017 , 17520.75 ) ( 2018 , 18419.25 ) };
\addlegendentry{\textsc{Microdispensers}}
\addplot [color=red, fill=red] coordinates
{( 2012 , 10482.5 ) ( 2013 , 11830.25 ) ( 2014 , 13327.75 ) ( 2015 , 14825.25 ) ( 2016 , 16622.25 ) ( 2017 , 18628.9 ) ( 2018 , 21114.75 ) };
\addlegendentry{\textsc{RF MEMS}}
\addplot [color=orange, fill=orange] coordinates
{( 2012 , 10542.4 ) ( 2013 , 11860.2 ) ( 2014 , 13447.55 ) ( 2015 , 14975 ) ( 2016 , 16921.75 ) ( 2017 , 19018.25 ) ( 2018 , 21564 ) };
\addlegendentry{\textsc{Oscillators}}
\addplot [color=black, fill=black] coordinates
{( 2012 , 10871.85 ) ( 2013 , 12279.5 ) ( 2014 , 13777 ) ( 2015 , 17071.5 ) ( 2016 , 17371 ) ( 2017 , 19617.25 ) ( 2018 , 22312.75 ) };
\addlegendentry{\textsc{Others}}
%\legend{InkJet Head, Pressure sensors, Microphones, Accelerometers, Gyroscopes, Digital compass, Inertial combos, Microbolometers, PIR \& thermopiles, Micro displays, Projection systems, Other optical MEMS, Microfluidics for research, Microfluidics for IVD, Microdispensers, RF MEMS, Oscillators, Others}
\end{axis}
У меня есть одно описание в легенде в одной строке, но мне нужна легенда под графиком с несколькими описаниями в одной строке.
Заранее спасибо.
решение1
Я понимаю, что это не совсем то, что вы хотели, однако, по-моему, так гораздо понятнее, поэтому я бы посоветовал вам рассмотреть этот вариант. Если вы настаиваете на рваном варианте, возможно, кто-то другой сможет помочь, я не уверен, возможно ли это. Я думаю, вам придется отказаться от использования pgfplots \legend
и определить новую среду.
Редактировать: Вы можете настроить метки ytick так, чтобы они отображали 220000 вместо 2,2*10^5, включив этот код в параметры осей (не включен в окончательный исходный код).
y tick label style={/pgf/number format/.cd,%
scaled y ticks = false,
set thousands separator={\,},
fixed},
В конфигурации по умолчанию метка y будет перекрывать эти числа. Однако это решено в новых версиях pgfplots. Поэтому включите, например,
\pgfplotsset{compat=1.13}
в вашей преамбуле.
Окончательный код:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar stacked,
legend style={ % this is modified
legend cell align=left, %
legend columns=2, %
at={(xticklabel cs:0.5)}, %
anchor=north % up to here
}, area legend,
x tick label style={ /pgf/number format/1000 sep=},
ylabel=Revenue (\$\,billions),
enlargelimits=0.05,width=10cm,height=12cm,
bar width=12pt,
]
\addplot coordinates
{(2012,1388) (2013,1388) (2014,1388) (2015,1388) (2016,1388) (2017,1388) (2018,1500)};
\addlegendentry{\textsc{InkJet Head}}
\addplot coordinates
{( 2012 , 2995 ) ( 2013 , 3144.75 ) ( 2014 , 3294.5 ) ( 2015 , 2126.45 ) ( 2016 , 3594 ) ( 2017 , 3893.5 ) ( 2018 , 4342.75 ) };
\addlegendentry{\textsc{Pressure sensors}}
\addplot coordinates
{( 2012 , 3594 ) ( 2013 , 3923.45 ) ( 2014 , 4193 ) ( 2015 , 4432.6 ) ( 2016 , 4792 ) ( 2017 , 5091.5 ) ( 2018 , 5450.9 ) };
\addlegendentry{\textsc{Microphones}}
\addplot [color=yellow, fill=yellow] coordinates
{( 2012 , 5361.05 ) ( 2013 , 5450.9 ) ( 2014 , 5690.5 ) ( 2015 , 5960.05 ) ( 2016 , 6289.5 ) ( 2017 , 6529.1 ) ( 2018 , 6738.75 )};
\addlegendentry{\textsc{Accelerometers}}
\addplot [color=black, fill=white] coordinates
{( 2012 , 6648.9 ) ( 2013 , 6888.5 ) ( 2014 , 7128.1 ) ( 2015 , 7188 ) ( 2016 , 7457.55 ) ( 2017 , 7637.25 ) ( 2018 , 7787 )};
\addlegendentry{\textsc{Gyroscopes}}
\addplot [color=violet, fill=violet] coordinates
{( 2012 , 6948.4 ) ( 2013 , 7337.75 ) ( 2014 , 7547.4 ) ( 2015 , 7727.1 ) ( 2016 , 7787 ) ( 2017 , 8086.5 ) ( 2018 , 8236.25 )};
\addlegendentry{\textsc{Digital compass}}
\addplot [color=gray, fill=gray] coordinates
{( 2012 , 7337.75 ) ( 2013 , 7906.8 ) ( 2014 , 8445.9 ) ( 2015 , 9164.7 ) ( 2016 , 9584) ( 2017 , 10033.25 ) ( 2018 , 10482.5 ) };
\addlegendentry{\textsc{Inertial combos}}
\addplot [color=purple, fill=purple] coordinates
{(2012,7487.5) (2013,8176.35) (2014,8835.25) (2015,9494.15) (2016,10033.25) (2017,10632.25) (2018,11021.6)};
\addlegendentry{\textsc{Microbolometers}}
\addplot [color=pink, fill=pink] coordinates
{( 2012 , 7547.4 ) ( 2013 , 8236.25 ) ( 2014 , 8850.225 ) ( 2015 , 9509.125 ) ( 2016 , 10048.225 ) ( 2017 , 10647.225 ) ( 2018 , 11081.5 ) };
\addlegendentry{\textsc{PIR \& thermopiles}}
\addplot [color=olive, fill=olive] coordinates
{( 2012 , 7562.375 ) ( 2013 , 8251.225 ) ( 2014 , 8865.2 ) ( 2015 , 9524.1 ) ( 2016 , 10063.2 ) ( 2017 , 10662.2 ) ( 2018 , 11096.475 ) };
\addlegendentry{\textsc{Micro displays}}
\addplot [color=magenta, fill=magenta] coordinates
{( 2012 , 8386 ) ( 2013 , 9134.75 ) ( 2014 , 10033.25 ) ( 2015 , 10886.825 ) ( 2016 , 11740.4 ) ( 2017 , 12608.95 ) ( 2018 , 13477.5 ) };
\addlegendentry{\textsc{Projection systems}}
\addplot [color=lime, fill=lime] coordinates
{( 2012 , 8685.5 ) ( 2013 , 9434.25 ) ( 2014 , 10332.75 ) ( 2015 , 11081.5 ) ( 2016 , 12129.75 ) ( 2017 , 12938.4 ) ( 2018 , 13926.75 ) };
\addlegendentry{\textsc{Other optical MEMS}}
\addplot [color=green, fill=green] coordinates
{( 2012 , 8985 ) ( 2013 , 10003.3 ) ( 2014 , 10931.75 ) ( 2015 , 12219.6 ) ( 2016 , 13417.6 ) ( 2017 , 14825.25 ) ( 2018 , 16472.5 ) };
\addlegendentry{\textsc{Microfluidics for research}}
\addplot [color=cyan, fill=cyan] coordinates
{( 2012 , 9823.6 ) ( 2013 , 10931.75 ) ( 2014 , 12129.75 ) ( 2015 , 13537.4 ) ( 2016 , 15124.75 ) ( 2017 , 16831.9 ) ( 2018 , 19018.25 ) };
\addlegendentry{\textsc{Microfluidics for IVD}}
\addplot [color=brown, fill=brown] coordinates
{( 2012 , 10123.1 ) ( 2013 , 11231.25 ) ( 2014 , 12579 ) ( 2015 , 14076.5 ) ( 2016 , 15723.75 ) ( 2017 , 17520.75 ) ( 2018 , 18419.25 ) };
\addlegendentry{\textsc{Microdispensers}}
\addplot [color=red, fill=red] coordinates
{( 2012 , 10482.5 ) ( 2013 , 11830.25 ) ( 2014 , 13327.75 ) ( 2015 , 14825.25 ) ( 2016 , 16622.25 ) ( 2017 , 18628.9 ) ( 2018 , 21114.75 ) };
\addlegendentry{\textsc{RF MEMS}}
\addplot [color=orange, fill=orange] coordinates
{( 2012 , 10542.4 ) ( 2013 , 11860.2 ) ( 2014 , 13447.55 ) ( 2015 , 14975 ) ( 2016 , 16921.75 ) ( 2017 , 19018.25 ) ( 2018 , 21564 ) };
\addlegendentry{\textsc{Oscillators}}
\addplot [color=black, fill=black] coordinates
{( 2012 , 10871.85 ) ( 2013 , 12279.5 ) ( 2014 , 13777 ) ( 2015 , 17071.5 ) ( 2016 , 17371 ) ( 2017 , 19617.25 ) ( 2018 , 22312.75 ) };
\addlegendentry{\textsc{Others}}
%\legend{InkJet Head, Pressure sensors, Microphones, Accelerometers, Gyroscopes, Digital compass, Inertial combos, Microbolometers, PIR \& thermopiles, Micro displays, Projection systems, Other optical MEMS, Microfluidics for research, Microfluidics for IVD, Microdispensers, RF MEMS, Oscillators, Others}
\end{axis}
\end{tikzpicture}
\end{document}
решение2
Вы можете немного поиграть с расположением легенды и указать желаемое количество столбцов в легенде, например:
\begin{tikzpicture}
%\*
\begin{axis}[
%
ybar stacked,
legend style={legend cell align=left,anchor=north west,,at={(0.0,-0.1)},legend columns=2}, area legend,
x tick label style={ /pgf/number format/1000 sep=},
ylabel=Revenue %(\$\,billions),
enlargelimits=0.05,width=10cm,height=12cm,
bar width=12pt,
]
\addplot coordinates
{(2012,1388) (2013,1388) (2014,1388) (2015,1388) (2016,1388) (2017,1388) (2018,1500)};
\addlegendentry{\textsc{InkJet Head}}
\addplot coordinates
{( 2012 , 2995 ) ( 2013 , 3144.75 ) ( 2014 , 3294.5 ) ( 2015 , 2126.45 ) ( 2016 , 3594 ) ( 2017 , 3893.5 ) ( 2018 , 4342.75 ) };
\addlegendentry{\textsc{Pressure sensors}}
\addplot coordinates
{( 2012 , 3594 ) ( 2013 , 3923.45 ) ( 2014 , 4193 ) ( 2015 , 4432.6 ) ( 2016 , 4792 ) ( 2017 , 5091.5 ) ( 2018 , 5450.9 ) };
\addlegendentry{\textsc{Microphones}}
\addplot [color=yellow, fill=yellow] coordinates
{( 2012 , 5361.05 ) ( 2013 , 5450.9 ) ( 2014 , 5690.5 ) ( 2015 , 5960.05 ) ( 2016 , 6289.5 ) ( 2017 , 6529.1 ) ( 2018 , 6738.75 )};
\addlegendentry{\textsc{Accelerometers}}
\addplot [color=black, fill=white] coordinates
{( 2012 , 6648.9 ) ( 2013 , 6888.5 ) ( 2014 , 7128.1 ) ( 2015 , 7188 ) ( 2016 , 7457.55 ) ( 2017 , 7637.25 ) ( 2018 , 7787 )};
\addlegendentry{\textsc{Gyroscopes}}
\addplot [color=violet, fill=violet] coordinates
{( 2012 , 6948.4 ) ( 2013 , 7337.75 ) ( 2014 , 7547.4 ) ( 2015 , 7727.1 ) ( 2016 , 7787 ) ( 2017 , 8086.5 ) ( 2018 , 8236.25 )};
\addlegendentry{\textsc{Digital compass}}
\addplot [color=gray, fill=gray] coordinates
{( 2012 , 7337.75 ) ( 2013 , 7906.8 ) ( 2014 , 8445.9 ) ( 2015 , 9164.7 ) ( 2016 , 9584) ( 2017 , 10033.25 ) ( 2018 , 10482.5 ) };
\addlegendentry{\textsc{Inertial combos}}
\addplot [color=purple, fill=purple] coordinates
{(2012,7487.5) (2013,8176.35) (2014,8835.25) (2015,9494.15) (2016,10033.25) (2017,10632.25) (2018,11021.6)};
\addlegendentry{\textsc{Microbolometers}}
\addplot [color=pink, fill=pink] coordinates
{( 2012 , 7547.4 ) ( 2013 , 8236.25 ) ( 2014 , 8850.225 ) ( 2015 , 9509.125 ) ( 2016 , 10048.225 ) ( 2017 , 10647.225 ) ( 2018 , 11081.5 ) };
\addlegendentry{\textsc{PIR \& thermopiles}}
\addplot [color=olive, fill=olive] coordinates
{( 2012 , 7562.375 ) ( 2013 , 8251.225 ) ( 2014 , 8865.2 ) ( 2015 , 9524.1 ) ( 2016 , 10063.2 ) ( 2017 , 10662.2 ) ( 2018 , 11096.475 ) };
\addlegendentry{\textsc{Micro displays}}
\addplot [color=magenta, fill=magenta] coordinates
{( 2012 , 8386 ) ( 2013 , 9134.75 ) ( 2014 , 10033.25 ) ( 2015 , 10886.825 ) ( 2016 , 11740.4 ) ( 2017 , 12608.95 ) ( 2018 , 13477.5 ) };
\addlegendentry{\textsc{Projection systems}}
\addplot [color=lime, fill=lime] coordinates
{( 2012 , 8685.5 ) ( 2013 , 9434.25 ) ( 2014 , 10332.75 ) ( 2015 , 11081.5 ) ( 2016 , 12129.75 ) ( 2017 , 12938.4 ) ( 2018 , 13926.75 ) };
\addlegendentry{\textsc{Other optical MEMS}}
\addplot [color=green, fill=green] coordinates
{( 2012 , 8985 ) ( 2013 , 10003.3 ) ( 2014 , 10931.75 ) ( 2015 , 12219.6 ) ( 2016 , 13417.6 ) ( 2017 , 14825.25 ) ( 2018 , 16472.5 ) };
\addlegendentry{\textsc{Microfluidics for research}}
\addplot [color=cyan, fill=cyan] coordinates
{( 2012 , 9823.6 ) ( 2013 , 10931.75 ) ( 2014 , 12129.75 ) ( 2015 , 13537.4 ) ( 2016 , 15124.75 ) ( 2017 , 16831.9 ) ( 2018 , 19018.25 ) };
\addlegendentry{\textsc{Microfluidics for IVD}}
\addplot [color=brown, fill=brown] coordinates
{( 2012 , 10123.1 ) ( 2013 , 11231.25 ) ( 2014 , 12579 ) ( 2015 , 14076.5 ) ( 2016 , 15723.75 ) ( 2017 , 17520.75 ) ( 2018 , 18419.25 ) };
\addlegendentry{\textsc{Microdispensers}}
\addplot [color=red, fill=red] coordinates
{( 2012 , 10482.5 ) ( 2013 , 11830.25 ) ( 2014 , 13327.75 ) ( 2015 , 14825.25 ) ( 2016 , 16622.25 ) ( 2017 , 18628.9 ) ( 2018 , 21114.75 ) };
\addlegendentry{\textsc{RF MEMS}}
\addplot [color=orange, fill=orange] coordinates
{( 2012 , 10542.4 ) ( 2013 , 11860.2 ) ( 2014 , 13447.55 ) ( 2015 , 14975 ) ( 2016 , 16921.75 ) ( 2017 , 19018.25 ) ( 2018 , 21564 ) };
\addlegendentry{\textsc{Oscillators}}
\addplot [color=black, fill=black] coordinates
{( 2012 , 10871.85 ) ( 2013 , 12279.5 ) ( 2014 , 13777 ) ( 2015 , 17071.5 ) ( 2016 , 17371 ) ( 2017 , 19617.25 ) ( 2018 , 22312.75 ) };
\addlegendentry{\textsc{Others}}
%\legend{InkJet Head, Pressure sensors, Microphones, Accelerometers, Gyroscopes, Digital compass, Inertial combos, Microbolometers, PIR \& thermopiles, Micro displays, Projection systems, Other optical MEMS, Microfluidics for research, Microfluidics for IVD, Microdispensers, RF MEMS, Oscillators, Others}
\end{axis}
%*/
\end{tikzpicture}
Однако это не совсем соответствует тому, о чем вы спрашиваете, поскольку количество записей в строке фиксировано...