TikZ의 그레이스케일 호환 색상

TikZ의 그레이스케일 호환 색상

TikZ 차트의 막대에 대한 5가지 색상/채우기 스타일을 찾고 있습니다. 바가 상당히 좁습니다. 화면에서 보거나 컬러로 인쇄할 때 뚜렷하게 보이도록 하고, 동일한 PDF 파일이 흑백으로 인쇄되는 경우에도 뚜렷하게 보이도록 하고 싶습니다.

좋은 색상 정의 세트를 추천할 수 있는 사람이 있습니까? 아니면 두 시나리오 모두에서 막대를 구별할 수 있도록 막대를 채우는 다른 방법이 있을까요? 색맹인 사람들도 쉽게 구별할 수 있다면 보너스(필수적이지 않음)가 될 것입니다.

명확히 하기 위해 다른 답변에서 본 것처럼 회색조 PDF 파일을 생성하거나 흑백 인쇄를 위한 별도의 출력을 생성하고 싶지 않습니다. 감사해요!

답변1

색상을 특정 비율의 검정색 또는 흰색과 혼합하는 @leandriis의 솔루션은 솔루션에 도달하는 데 도움이 되었지만 인쇄할 때 컬러나 그레이스케일에서 생성된 색상이 충분히 뚜렷하지 않다는 것을 발견했습니다. 그레이스케일에서 음영을 뚜렷하게 만들기 위해 단색 검정색과 단색 흰색(검은색 테두리 포함)을 추가했습니다. 색상을 더욱 뚜렷하게 만들기 위해 다양한 색상(빨간색, 녹색, 파란색)을 사용했습니다. 하지만 내 파란색은 회색조로 변환하면 항상 예상보다 어둡게 나와서 결국 파란색을 회색으로 교체했습니다.

@leandriis의 데모 소스 코드를 사용하여 제가 최종적으로 얻은 결과는 다음과 같습니다.

\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\begin{document}

  \begin{tikzpicture}
    \begin{axis}[
        xmin=0,
        xmax=6,
        xtick={1,2,3,4,5},
        ytick={0,5},
        ymin=0,
        ymax=5,
        every axis plot/.append style={
          ybar,
          bar width=10pt,
          bar shift=0pt,
          fill
        }
      ]
      \addplot[draw=black,fill=white]coordinates {(1,5)};
      \addplot[fill=black!15!white]coordinates{(2,5)};
      \addplot[fill=red!40!white]coordinates{(3,5)};
      \addplot[green!60!black]coordinates{(4,5)};
      \addplot[black]coordinates{(5,5)};
    \end{axis}
  \end{tikzpicture}
\end{document}

특별히 예쁘지는 않지만 효과가 있는 것 같았어요! (그러나 더 심미적으로 만족스러운 색상 조합에 대한 의견은 감사하겠습니다!)

컬러 데모 이미지그레이스케일 데모 이미지

답변2

기본 색상을 사용하고 흰색과 검정색을 다양한 양으로 혼합하여 이 색상의 5가지 다른 색조를 만드는 것이 좋습니다. 다음 예에서는 파란색을 기본 색상으로 사용했지만 다른 색상(예: 아래 이미지에 표시된 빨간색 및 녹색)을 사용하여 동일한 작업을 수행할 수도 있습니다.

\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\begin{document}

  \begin{tikzpicture}
    \begin{axis}[
        xmin=0,
        xmax=6,
        xtick={1,2,3,4,5},
        ytick={0,5},
        ymin=0,
        ymax=5,
        every axis plot/.append style={
          ybar,
          bar width=10pt,
          bar shift=0pt,
          fill
        }
      ]
      \addplot[blue!15!white]coordinates {(1,5)};
      \addplot[blue!40!white]coordinates{(2,5)};
      \addplot[blue]coordinates{(3,5)};
      \addplot[blue!60!black]coordinates{(4,5)};
      \addplot[blue!15!black]coordinates{(5,5)};
    \end{axis}
  \end{tikzpicture}
\end{document}

회색조로 변환된 동일한 막대 차트는 다음 이미지에서 해당 색상 차트 옆에 표시됩니다.

여기에 이미지 설명을 입력하세요

답변3

색상은ninecolors이 작업을 위해 패키지가 준비될 수 있습니다.

다음은 사전 정의된 파란색 음영을 모두 사용하는 예입니다.

여기에 이미지 설명을 입력하세요

\documentclass[a4paper, 12pt]{article}
\usepackage{pgfplots}
\usepackage{ninecolors}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
        xmin=0.5,
        xmax=5.5,
        xtick={1,2,3,4,5},
        ytick={-1,4},
        ymin=0,
        ymax=3,
        every axis plot/.append style={
          ybar,
          bar width=15pt,
          bar shift=0pt,
          fill
        }
      ]
      \addplot[blue1]coordinates {(1,3)};
      \addplot[blue3]coordinates {(2,3)};
      \addplot[blue5]coordinates {(3,3)};
      \addplot[blue7]coordinates {(4,3)};
      \addplot[blue9]coordinates {(5,3)};
    \end{axis}
  \end{tikzpicture}
\end{document}

다음은 정의 된 모든 색상 redX, brownX, yellowX, oliveX, greenX, tealX, cyanX, azureX, blueX, (= 1에서 9 사이의 숫자 포함 ) 및 음영뿐만 아니라 회색조로 볼 때 동일한 플롯 이미지 에 대한 개요입니다 .violetXmagentaXpurpleXX

여기에 이미지 설명을 입력하세요

관련 정보