我需要帮助来获得与我在图片中附加的图形类似的图形。我不明白每个值都在其轴上。
这些就是我工作中所秉持的价值观。
\addplot [black,fill] coordinates {
(hasta 5,-13)
(5.1 a 10,-14)
(10.1 a 25,-10)
(25.1 a 50,-5)
(50.1 a 100,-5)
(100.1 a 200,-3)
(200.1 a 500,-13)
(500.1 a 1000,-9)
(1000.1 a 2500,-9)
(2500.1 a 5000,-8)
(5000.1 a 10000,-6)
(más de 10000,-6)};
\addlegendentry{EAPs};
\addplot [black!30,fill] coordinates {
(hasta 5,0)
(5.1 a 10,0)
(10.1 a 25,0.1)
(25.1 a 50,0.1)
(50.1 a 100,0.1)
(100.1 a 200,0.2)
(200.1 a 500,1.9)
(500.1 a 1000,2.5)
(1000.1 a 2500,5.8)
(2500.1 a 5000,11.2)
(5000.1 a 10000,16.1)
(más de 10000,62)};
\addlegendentry{Superficie};
提前致谢
答案1
这里有几点需要注意:
最好给出一个平均能量损失解释你已经尝试过什么以及你遇到的问题。这将节省你和其他人的时间。
数据中的 x 坐标不是数字。因此必须将其定义为
symbolic
。x 坐标中的空格可以通过用“~”替换来处理。不知道这是否是最好的方法。xbar stacked
可以用来实现该图。
\documentclass[border=3mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\pgfplotstableread{
xval EAPs Superficie
hasta~5 -13 0
5.1~a~10 -14 0
10.1~a~25 -10 0.1
25.1~a~50 -5 0.1
50.1~a~100 -5 0.1
100.1~a~200 -3 0.2
200.1~a~500 -13 1.9
500.1~a~1000 -9 2.5
1000.1~a~2500 -9 5.8
2500.1~a~5000 -8 11.2
5000.1~a~10000 -6 16.1
m\`as~de~10000 -6 62
}\mytable
\begin{axis}[
xbar stacked,
stack negative=separate,
symbolic y coords={
hasta~5,
5.1~a~10,
10.1~a~25,
25.1~a~50,
50.1~a~100,
100.1~a~200,
200.1~a~500,
500.1~a~1000,
1000.1~a~2500,
2500.1~a~5000,
5000.1~a~10000,
m\`as~de~10000,
},
%
xmajorgrids,
ytick=data,
xmin=-20,
legend style={at={(0.5,1.2)},
anchor=north,legend columns=-1},
]
\addplot[black,fill] table [x index=1,y=xval] {\mytable};
\addplot[black!30,fill] table [x index=2,y=xval] {\mytable};
\legend{EAPs,Superficie};
\end{axis}
\end{tikzpicture}
\end{document}}