H! У меня есть корреляционная матрица 14x14 переменных - довольно большая. Если я вставлю свою корреляционную матрицу в Latex и подгоню таблицу под размер страницы с помощью begin{adjustbox}{widt=\textwith}
, таблица будет напечатана очень маленькой и ее будет неудобно читать.
Как я могу разделить матрицу корреляции на 2 таблицы, находящиеся друг за другом? Так, например, сначала таблица первых 7x7 переменных, а затем за ней вторые 7x7 переменных?
Вот мой код таблицы:
\begin{table}[!htbp] \centering
\caption{}
\label{}
\begin{adjustbox}{width=\textwidth}
\begin{tabular}{@{\extracolsep{5pt}} ccccccccccccccc}
\\[-1.8ex]\hline
\hline \\[-1.8ex]
& roap & id & size & age & listed & source & country & gics20 & gics25 & gics30 & gics40 & gics45 & gics50 & gics60 \\
\hline \\[-1.8ex]
roap & $1$ & $0.265$ & $0.360$ & $$-$0.222$ & $0.077$ & $0.202$ & $$-$0.032$ & $$-$0.206$ & $0.268$ & $0.019$ & $$-$0.376$ & $0.310$ & $0.109$ & $$-$0.009$ \\
id & $0.265$ & $1$ & $0.385$ & $0.029$ & $$-$0.194$ & $$-$0.036$ & $$-$0.239$ & $$-$0.163$ & $0.114$ & $0.321$ & $$-$0.176$ & $0.102$ & $$-$0.014$ & $$-$0.358$ \\
size & $0.360$ & $0.385$ & $1$ & $0.126$ & $0.326$ & $$-$0.121$ & $$-$0.151$ & $$-$0.048$ & $0.138$ & $$-$0.150$ & $$-$0.033$ & $0.466$ & $$-$0.103$ & $$-$0.149$ \\
age & $$-$0.222$ & $0.029$ & $0.126$ & $1$ & $0.150$ & $$-$0.362$ & $$-$0.141$ & $$-$0.010$ & $$-$0.110$ & $$-$0.043$ & $0.488$ & $$-$0.103$ & $$-$0.181$ & $$-$0.127$ \\
listed & $0.077$ & $$-$0.194$ & $0.326$ & $0.150$ & $1$ & $0.014$ & $$-$0.134$ & $0.013$ & $0.167$ & $$-$0.560$ & $0.211$ & $0.217$ & $0.133$ & $$-$0.002$ \\
source & $0.202$ & $$-$0.036$ & $$-$0.121$ & $$-$0.362$ & $0.014$ & $1$ & $0.335$ & $0.164$ & $0.188$ & $$-$0.023$ & $$-$0.561$ & $0.041$ & $0.156$ & $0.100$ \\
country & $$-$0.032$ & $$-$0.239$ & $$-$0.151$ & $$-$0.141$ & $$-$0.134$ & $0.335$ & $1$ & $0.216$ & $$-$0.214$ & $0.139$ & $$-$0.104$ & $$-$0.037$ & $$-$0.135$ & $0.141$ \\
gics20 & $$-$0.206$ & $$-$0.163$ & $$-$0.048$ & $$-$0.010$ & $0.013$ & $0.164$ & $0.216$ & $1$ & $$-$0.182$ & $$-$0.269$ & $$-$0.202$ & $$-$0.124$ & $$-$0.208$ & $$-$0.097$ \\
gics25 & $0.268$ & $0.114$ & $0.138$ & $$-$0.110$ & $0.167$ & $0.188$ & $$-$0.214$ & $$-$0.182$ & $1$ & $$-$0.229$ & $$-$0.172$ & $$-$0.106$ & $$-$0.177$ & $$-$0.083$ \\
gics30 & $0.019$ & $0.321$ & $$-$0.150$ & $$-$0.043$ & $$-$0.560$ & $$-$0.023$ & $0.139$ & $$-$0.269$ & $$-$0.229$ & $1$ & $$-$0.253$ & $$-$0.156$ & $$-$0.261$ & $$-$0.122$ \\
gics40 & $$-$0.376$ & $$-$0.176$ & $$-$0.033$ & $0.488$ & $0.211$ & $$-$0.561$ & $$-$0.104$ & $$-$0.202$ & $$-$0.172$ & $$-$0.253$ & $1$ & $$-$0.117$ & $$-$0.196$ & $$-$0.091$ \\
gics45 & $0.310$ & $0.102$ & $0.466$ & $$-$0.103$ & $0.217$ & $0.041$ & $$-$0.037$ & $$-$0.124$ & $$-$0.106$ & $$-$0.156$ & $$-$0.117$ & $1$ & $$-$0.121$ & $$-$0.056$ \\
gics50 & $0.109$ & $$-$0.014$ & $$-$0.103$ & $$-$0.181$ & $0.133$ & $0.156$ & $$-$0.135$ & $$-$0.208$ & $$-$0.177$ & $$-$0.261$ & $$-$0.196$ & $$-$0.121$ & $1$ & $$-$0.094$ \\
gics60 & $$-$0.009$ & $$-$0.358$ & $$-$0.149$ & $$-$0.127$ & $$-$0.002$ & $0.100$ & $0.141$ & $$-$0.097$ & $$-$0.083$ & $$-$0.122$ & $$-$0.091$ & $$-$0.056$ & $$-$0.094$ & $1$ \\
\hline \\[-1.8ex]
\end{tabular}
\end{adjustbox}
\end{table}
И это напечатано следующим образом:
Есть предложения? Спасибо за помощь!
решение1
Как вы обнаружили, использование \adjustbox
не приводит к созданию пригодных для использования результатов — по крайней мере, не при попытке создания привлекательных таблиц. Я предлагаю вам сделать следующее:
отобразить таблицу в альбомном формате, используя
sidewaystable
среду пакетаrotating
;используйте
tabular*
окружение, чтобы гарантировать, что таблица поместится внутри текстового блока;использовать
S
тип столбца пакетаsiunitx
для выравнивания чисел по их соответствующим явным или неявным десятичным маркерам; ииспользуйте макросы пакета
booktabs
--\toprule
,\midrule
,\bottomrule
-- вместо\hline
для генерации хорошо разнесенных горизонтальных линий. При желании используйте\addlinespace
директивы (также предоставляемые пакетомbooktabs
) для вставки небольшого пробела после каждой пятой строки или около того.
\documentclass{article}
\usepackage{booktabs,siunitx,rotating}
\begin{document}
\begin{sidewaystable}
\setlength\tabcolsep{0pt} % make LaTeX figure out the intercolumn whitespace amount
\caption{} \label{}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{14}{S[table-format=-1.3]} }
\toprule
& {roap} & {id} & {size} & {age} & {listed} & {source} & {country} & {gics20} & {gics25} & {gics30} & {gics40} & {gics45} & {gics50} & {gics60} \\
\midrule
roap & 1 & 0.265 & 0.360 & -0.222 & 0.077 & 0.202 & -0.032 & -0.206 & 0.268 & 0.019 & -0.376 & 0.310 & 0.109 & -0.009 \\
id & 0.265 & 1 & 0.385 & 0.029 & -0.194 & -0.036 & -0.239 & -0.163 & 0.114 & 0.321 & -0.176 & 0.102 & -0.014 & -0.358 \\
size & 0.360 & 0.385 & 1 & 0.126 & 0.326 & -0.121 & -0.151 & -0.048 & 0.138 & -0.150 & -0.033 & 0.466 & -0.103 & -0.149 \\
age & -0.222 & 0.029 & 0.126 & 1 & 0.150 & -0.362 & -0.141 & -0.010 & -0.110 & -0.043 & 0.488 & -0.103 & -0.181 & -0.127 \\
listed & 0.077 & -0.194 & 0.326 & 0.150 & 1 & 0.014 & -0.134 & 0.013 & 0.167 & -0.560 & 0.211 & 0.217 & 0.133 & -0.002 \\ \addlinespace % optional
source & 0.202 & -0.036 & -0.121 & -0.362 & 0.014 & 1 & 0.335 & 0.164 & 0.188 & -0.023 & -0.561 & 0.041 & 0.156 & 0.100 \\
country & -0.032 & -0.239 & -0.151 & -0.141 & -0.134 & 0.335 & 1 & 0.216 & -0.214 & 0.139 & -0.104 & -0.037 & -0.135 & 0.141 \\
gics20 & -0.206 & -0.163 & -0.048 & -0.010 & 0.013 & 0.164 & 0.216 & 1 & -0.182 & -0.269 & -0.202 & -0.124 & -0.208 & -0.097 \\
gics25 & 0.268 & 0.114 & 0.138 & -0.110 & 0.167 & 0.188 & -0.214 & -0.182 & 1 & -0.229 & -0.172 & -0.106 & -0.177 & -0.083 \\
gics30 & 0.019 & 0.321 & -0.150 & -0.043 & -0.560 & -0.023 & 0.139 & -0.269 & -0.229 & 1 & -0.253 & -0.156 & -0.261 & -0.122 \\ \addlinespace % optional
gics40 & -0.376 & -0.176 & -0.033 & 0.488 & 0.211 & -0.561 & -0.104 & -0.202 & -0.172 & -0.253 & 1 & -0.117 & -0.196 & -0.091 \\
gics45 & 0.310 & 0.102 & 0.466 & -0.103 & 0.217 & 0.041 & -0.037 & -0.124 & -0.106 & -0.156 & -0.117 & 1 & -0.121 & -0.056 \\
gics50 & 0.109 & -0.014 & -0.103 & -0.181 & 0.133 & 0.156 & -0.135 & -0.208 & -0.177 & -0.261 & -0.196 & -0.121 & 1 & -0.094 \\
gics60 & -0.009 & -0.358 & -0.149 & -0.127 & -0.002 & 0.100 & 0.141 & -0.097 & -0.083 & -0.122 & -0.091 & -0.056 & -0.094 & 1 \\
\bottomrule
\end{tabular*}
\end{sidewaystable}
\end{document}
Приложение: Если поля страницы вашего документа не превышают ширину в 1 дюйм, то на самом деле возможно отобразить матрицу корреляции в портретном режиме, если вы покажете только две, а не три цифры после десятичного разделителя. По сравнению с кодом выше, все, что вам нужно будет сделать, это (a) переключиться из среды sidewaystable
в обычную table
и (b) дать команду Latex округлить числа в 14 столбцах данных до 2 цифр; последнее можно легко сделать, выполнив инструкцию
\sisetup{round-mode=places,round-precision=2}
в верхней части среды table
. Все остальные элементы, такие как использование S
типа столбца для столбцов данных и среды tabular*
, не нужно менять.
\documentclass{article}
\usepackage[a4paper,margin=2.5cm]{geometry} % set page margins suitably
\usepackage{booktabs,siunitx}
\begin{document}
\begin{table} % <-- new: 'table' instead of 'sidewaystable'
\sisetup{round-mode=places,round-precision=2} % <-- new
\setlength\tabcolsep{0pt}
\caption{\strut} \label{}
% Change 'S[table-format=-1.3]' to 'S[table-format=-1.2]':
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} l *{14}{S[table-format=-1.2]} }
\toprule
& {roap} & {id} & {size} & {age} & {listed} & {source} & {country} & {gics20} & {gics25} & {gics30} & {gics40} & {gics45} & {gics50} & {gics60} \\
\midrule
roap & 1 & 0.265 & 0.360 & -0.222 & 0.077 & 0.202 & -0.032 & -0.206 & 0.268 & 0.019 & -0.376 & 0.310 & 0.109 & -0.009 \\
id & 0.265 & 1 & 0.385 & 0.029 & -0.194 & -0.036 & -0.239 & -0.163 & 0.114 & 0.321 & -0.176 & 0.102 & -0.014 & -0.358 \\
size & 0.360 & 0.385 & 1 & 0.126 & 0.326 & -0.121 & -0.151 & -0.048 & 0.138 & -0.150 & -0.033 & 0.466 & -0.103 & -0.149 \\
age & -0.222 & 0.029 & 0.126 & 1 & 0.150 & -0.362 & -0.141 & -0.010 & -0.110 & -0.043 & 0.488 & -0.103 & -0.181 & -0.127 \\
listed & 0.077 & -0.194 & 0.326 & 0.150 & 1 & 0.014 & -0.134 & 0.013 & 0.167 & -0.560 & 0.211 & 0.217 & 0.133 & -0.002 \\ \addlinespace
source & 0.202 & -0.036 & -0.121 & -0.362 & 0.014 & 1 & 0.335 & 0.164 & 0.188 & -0.023 & -0.561 & 0.041 & 0.156 & 0.100 \\
country & -0.032 & -0.239 & -0.151 & -0.141 & -0.134 & 0.335 & 1 & 0.216 & -0.214 & 0.139 & -0.104 & -0.037 & -0.135 & 0.141 \\
gics20 & -0.206 & -0.163 & -0.048 & -0.010 & 0.013 & 0.164 & 0.216 & 1 & -0.182 & -0.269 & -0.202 & -0.124 & -0.208 & -0.097 \\
gics25 & 0.268 & 0.114 & 0.138 & -0.110 & 0.167 & 0.188 & -0.214 & -0.182 & 1 & -0.229 & -0.172 & -0.106 & -0.177 & -0.083 \\
gics30 & 0.019 & 0.321 & -0.150 & -0.043 & -0.560 & -0.023 & 0.139 & -0.269 & -0.229 & 1 & -0.253 & -0.156 & -0.261 & -0.122 \\ \addlinespace
gics40 & -0.376 & -0.176 & -0.033 & 0.488 & 0.211 & -0.561 & -0.104 & -0.202 & -0.172 & -0.253 & 1 & -0.117 & -0.196 & -0.091 \\
gics45 & 0.310 & 0.102 & 0.466 & -0.103 & 0.217 & 0.041 & -0.037 & -0.124 & -0.106 & -0.156 & -0.117 & 1 & -0.121 & -0.056 \\
gics50 & 0.109 & -0.014 & -0.103 & -0.181 & 0.133 & 0.156 & -0.135 & -0.208 & -0.177 & -0.261 & -0.196 & -0.121 & 1 & -0.094 \\
gics60 & -0.009 & -0.358 & -0.149 & -0.127 & -0.002 & 0.100 & 0.141 & -0.097 & -0.083 & -0.122 & -0.091 & -0.056 & -0.094 & 1 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}