저는 해당 단어 자체를 제외하고 "Trail 1" 및 "Trail 3" 행 전체에 색상을 지정하고 싶습니다(즉, 숫자만 표시되지만 색상은 \midrule에서 다음까지 실행됩니다). 이렇게 하면 사이에 있는 작은 공백도 제거되는데, 제거 방법을 잘 모르겠습니다. 어떻게 해야 합니까?
또한 색상을 나타내기 위해 여기에 범례를 추가할 수 있습니까? Pgfplots가 이 작업을 수행한다는 것을 알고 있지만 tikzpicture와 tabular의 차이로 인해 이를 통합하는 방법을 모르겠습니다(틀렸다면 수정해 주세요. 저는 이 커뮤니티에 처음입니다).
실행 가능한 코드는 다음과 같습니다.
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[sexy]{evan}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\newcommand{\mycc}{\cellcolor{lightgray}}
\begin{document}
\begin{center}
\begin{tabular}{SSSSSSS} \toprule
{$m$} & {$2$m} & {$4$m} & {$6$m} & {$8$m} & {$10$m} & {$12$m} \\ \midrule
\text{Trail 1} & \mycc 1.48 & \mycc 2.76 & \mycc 4.02 & \mycc 5.22 & \mycc 6.43 & \mycc 7.76 \\ \midrule
\text{Trail 2} & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\ \midrule
\text{Trail 3} & \mycc 1.53 & \mycc 2.94 & \mycc 4.53 & \mycc 5.96 & \mycc 7.36 & \mycc 8.83 \\ \midrule
\text{Trail 4} & 1.80 & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\ \bottomrule
\end{tabular}
\end{center}
\end{document}
무엇을 해야할지 잘 모르겠습니다. 도움을 주시면 대단히 감사하겠습니다! 그리고 왜 데이터 값이 정렬되지 않는지 잘 모르겠는데, 그 부분도 고쳐주시면 좋을 것 같아요!
편집: 코드의 출처에 대한 일부 소스는 다음과 같습니다.
답변1
기본적으로책꽂이행 색상이 서로 잘 어울리지 않습니다. 프리앰블에 다음을 추가하여 이 문제를 해결할 수 있습니다.
\addtolength{\extrarowheight}{\belowrulesep}
\aboverulesep=0pt
\belowrulesep=0pt
전설의 경우 나는 당신이 원하는 것을 환경 tabular
안의 환경 에 던질 것입니다 minipage
. 그러면 다음과 같은 것을 얻을 수 있습니다:
아마도 자신의 취향에 맞게 이 "범례"를 조정해야 할 것입니다.
이는 OP가 묻지 않는 행의 전체 수직 크기를 채우지 않는 행 색상 문제를 해결합니다.하지만 기둥 사이의 희미한 선은 고쳐지지 않습니다, OP가 실제로 요구하는 내용입니다. 이 희미한 간격은 버그입니다. 이 문제를 해결하는 가장 쉬운 방법은 @{}
각 열 지정자 뒤에 추가하는 것입니다. 이는 기본적으로 열 사이에 "아무것도 추가하지 않지만 아무것도 하지 않는 대신 실제로 작은 양의 공간을 제거하고 결과적으로 얇고 희미한 흰색 선을 제거합니다. 열 사이.
새로운 수정 사항을 사용하면 출력은 다음과 같습니다.
특히 기둥 사이의 희미한 선이 이제 사라졌습니다.
마지막으로 행 색상 측면에서 이는 MWE에 대한 실제 코드를 단순화한 결과일 수 있지만 \mycc
색상을 지정하려는 각 셀에 추가하는 것보다 행 색상을 설정한 다음 다음을 수행하는 것이 더 효율적입니다. \cellcolor
첫 번째 셀의 배경색을 변경하는 데 사용합니다 . 실제로 다음과 같은 매크로를 사용하면
\newcommand\colorrow{\rowcolor{lightgray}\cellcolor{white}}
색상이 지정된 행당 하나의 명령만 사용하면 됩니다.
업데이트된 코드는 다음과 같습니다.
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
%\usepackage[sexy]{evan}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\newcommand{\mycc}{\cellcolor{lightgray}}
\newcommand\colorrow{\rowcolor{lightgray}\cellcolor{white}}
\addtolength{\extrarowheight}{\belowrulesep}
\aboverulesep=0pt
\belowrulesep=0pt
\begin{document}
\begin{center}
\begin{tabular}{*6{S@{}}S} \toprule
{$m$} & {$2$m} & {$4$m} & {$6$m} & {$8$m} & {$10$m} & {$12$m} \\ \midrule
\colorrow
\text{Trail 1} & 1.48 & 2.76 & 4.02 & 5.22 & 6.43 & 7.76 \\ \midrule
\text{Trail 2} & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\ \midrule
\colorrow
\text{Trail 3} & 1.53 & 2.94 & 4.53 & 5.96 & 7.36 & 8.83 \\ \midrule
\text{Trail 4} & 1.80 & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\ \bottomrule
\end{tabular}
\smallskip
\hfil
\begin{minipage}{0.3\textwidth}
\textbf{Legend}\\
\begin{tabular}{ll}
\mycc This colour & stuff
\end{tabular}
\end{minipage}
\end{center}
\end{document}
답변2
에 의해 그려졌든 \hline
에 의해 그려졌든 수평선을 사용하여 \midrule
,그리고색상이 있는(또는 음영 처리된) 셀 행은 매우 쉽게 역효과를 낼 수 있는 두 가지 시각적 은유의 혼합을 나타냅니다. 하지 마세요. 지시문 을 삭제(또는 주석 처리)하면 \midrule
테이블의 가독성이 즉시 향상됩니다. 수평 규칙 주변의 성가신 공백을 제거하는 방법을 걱정하는 데 시간을 낭비할 필요가 없습니다.
별도의 설명: 2*6=12 별도의 지시문을 발행하는 대신 두 행에 대해 \cellcolor
2개의 지시문을 발행 하고 이 두 행의 첫 번째 셀에 대해 2개의 지시문을 발행하여 해당 셀에 대한 지시문의 효과를 무시합니다 .\rowcolor{lightgray}
\cellcolor{white}
\rowcolor
\documentclass[11pt]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
%\usepackage[sexy]{evan}
\usepackage{booktabs,siunitx}
\usepackage[table]{xcolor}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.25} % for a more open "look"
\begin{tabular}{@{} l *{6}{S[table-format=1.2]} }
\toprule
& {2m} & {4m} & {6m} & {8m} & {10m} & {12m} \\ %\midrule
\rowcolor{lightgray}%
\cellcolor{white}%
Trail 1 & 1.48 & 2.76 & 4.02 & 5.22 & 6.43 & 7.76 \\ %\midrule
Trail 2 & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\ %\midrule
\rowcolor{lightgray}%
\cellcolor{white}%
Trail 3 & 1.53 & 2.94 & 4.53 & 5.96 & 7.36 & 8.83 \\ %\midrule
Trail 4 & 1.80 & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\
\bottomrule
\end{tabular}
\end{center}
\end{document}
답변3
TiKz 행렬을 사용한 솔루션 - 범례는 끝 부분의 빈 행에 새겨져 있습니다.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\tikzset{
table/.style={
matrix of nodes,
nodes={
rectangle,
draw=none,
align=center
},
minimum height=1.5em,
every even row/.style={
nodes={fill=black!30}
},
column 1/.style={
nodes={text width=4em,font=\bfseries}
},
}
}
\begin{tikzpicture}
\matrix (first) [table,text width=4em]
{
{$m$} & {$2$m} & {$4$m} & {$6$m} & {$8$m} & {$10$m} & {$12$m} \\
|[fill=white]|{Trail 1} & 1.48 & 2.76 & 4.02 & 5.22 & 6.43 & 7.76 \\
{Trail 2} & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\
|[fill=white]|{Trail 3} & 1.53 & 2.94 & 4.53 & 5.96 & 7.36 & 8.83 \\
{Trail 4} & 1.80 & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\
&|[fill=white]|{}&&&&&\\
&&|[fill=black!30]|Legend&{defintion}&&&\\
};
\end{tikzpicture}
\end{document}
nicematrix
편집 우수한 패키지를 갖춘 솔루션
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{rrrrrrr}[code-before = \rowcolors{1}{white}{blue!15} \columncolor{white}{1}]
{$m$} & {$2$m} & {$4$m} & {$6$m} & {$8$m} & {$10$m} & {$12$m} \\
\text{Trail 1} & 1.48 & 2.76 & 4.02 & 5.22 & 6.43 & 7.76 \\
\text{Trail 2} & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\
\text{Trail 3} & 1.53 & 2.94 & 4.53 & 5.96 & 7.36 & 8.83 \\
\text{Trail 4} & 1.80 & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\
\end{NiceTabular}
\end{document}
그리고 그 결과
범례는 여섯 번째 행에 배치할 수 있습니다.
답변4
와 호환되는 색상 행을 원하는 경우 환경 을 booktabs
사용할 수 있습니다 .{NiceTabular}
nicematrix
\documentclass[11pt]{scrartcl}
\usepackage{booktabs}
\usepackage{siunitx}
\usepackage{xcolor}
\usepackage{nicematrix}
\begin{document}
\begin{center}
\begin{NiceTabular}{SSSSSSS}[colortbl-like] \toprule
{$m$} & {$2$m} & {$4$m} & {$6$m} & {$8$m} & {$10$m} & {$12$m} \\ \midrule
\text{Trail 1} & \rowcolor{lightgray}1.48 & 2.76 & 4.02 & 5.22 & 6.43 & 7.76 \\ \midrule
\text{Trail 2} & 1.53 & 3.21 & 4.76 & 6.32 & 7.81 & 9.47 \\ \midrule
\text{Trail 3} & \rowcolor{lightgray}1.53 & 2.94 & 4.53 & 5.96 & 7.36 & 8.83 \\ \midrule
\text{Trail 4} & & 3.46 & 4.94 & 6.49 & 8.20 & 9.85 \\ \bottomrule
\end{NiceTabular}
\end{center}
\end{document}
그러나 여러 가지 편집이 필요합니다.