我无法复制此图表
我知道用这么少的信息来绘制图表是愚蠢的,但是我的老师要求这样做......去想象......
我似乎无法让这些条粘在一起。这是我第一次尝试 TikZ...
我目前所做的:
\documentclass{article}
\usepackage{pfgplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ symbolic x coords={18S, HNF1, Normalização dos valores para 18S}, xtick=data]
\addplot[ybar,fill=black] coordinates {
(18S,42)
(HNF1,50)
(Normalização dos valores para 18S,80)
};
\addplot[ybar,fill=gray] coordinates {
(18S,50)
(HNF1,30)
(Normalização dos valores para 18S, 100)
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您发布的代码存在许多问题:
ybar
通过在每个命令中指定\addplot
,您可以使条形图相互叠放。ybar
在\axis
命令中指定一次。ybar
(或)允许一个值xbar
来确定同一 x(或 y)刻度处条形之间的间隔。将其设置为 0 可使条形相邻。- 据我所知,符号轴不喜欢重音字符。因此,解决这个问题的方法(这也使输入数据更容易)是使用任意符号标签,例如,
{A,B,C}
然后使用xticklabels
来提供标签。这还允许您将长标签放入环境中tabular
,这样它就会正确换行。) - 为了使长标签适合,您需要扩大限制。
这是您的情节的新版本:(顺便说一句,您的数字与您的图片不匹配!)
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots,amsmath,calc}
\usetikzlibrary{patterns}
\pgfplotsset{width=7cm,compat=1.3}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar=0pt,
symbolic x coords={A, B, C},
xtick={A, B, C},
xticklabels={18S, HNF1,
\begin{tabular}{c}Normalização\\dos valores\\para 18S\end{tabular}},
enlargelimits=0.3,bar width=20pt]
\addplot[fill=black] coordinates {
(A,42)
(B,50)
(C,80)
};
\addplot[fill=gray] coordinates {
(A,50)
(B,30)
(C, 100)
};
\end{axis}
\end{tikzpicture}
\end{document}