टिकज में यादृच्छिक मैट्रिक्स को कैसे एनोटेट करें

Aug 18 2020

मेरे पास निम्नलिखित है जो एक यादृच्छिक मैट्रिक्स छवि (पहला उदाहरण) उत्पन्न करता है। लेकिन मैं यह पता नहीं लगा सकता कि:

  1. शीर्ष और दाईं ओर कोशिकाओं के आकार को सही करें

  2. रंग टिंट जोड़ें (दूसरे उदाहरण में नीला)

  3. इसे उल्लिखित विखंडू में बनाएँ (दूसरा उदाहरण)

    \begin{figure}[p]
    \begin{tikzpicture}[scale=1]
       \foreach \y in {0.1,0.2,...,.9} {
           \foreach \x in {0.1,0.2,...,.9} {
               \pgfmathparse{0.9*rnd+0.3}
               \definecolor{MyColor}{rgb}{\pgfmathresult,\pgfmathresult,\pgfmathresult}
                   \node[fill=MyColor,inner sep=0.1cm,outer sep=0pt,anchor=center] at (\x,\y) {}; 
           }
       }
    \end{tikzpicture}
    \end{figure}
    

आउटपुट (उदाहरण 1):

मैं इन चरणों को उदाहरण 2 में प्रदर्शित करता हूं, लेकिन मैं केवल इसे पूर्व-निर्मित पीडीएफ फाइल से काम करने में सक्षम था:

\begin{tikzpicture}
     \node[inner sep=0pt] (tumor1to4) at (0,0) {\includegraphics[trim=0 400 400 0,clip,width=20ex,height=20ex]{Plots/Clipart/heatmap.pdf}};

     \node[right=1ex of tumor1to4,font=\fontsize{20}{0}\selectfont, thick] (el1) {...};
     
     \node[inner sep=0pt, right= 0.5ex of el1] (tumorp) {\includegraphics[trim=0 400 475 0,clip,height=20ex]{Plots/Clipart/heatmap.pdf}};
 
     \node[right=0.5ex of tumorp,font=\fontsize{20}{0}\selectfont, thick] (el2) {...};
     
     \node[inner sep=0pt, right= 0.5ex of el2] (tumorP) {\includegraphics[trim=475 400 0 0,clip,height=20ex]{Plots/Clipart/heatmap.pdf}};
 
    \node[below=3ex of tumor1to4,font=\fontsize{20}{0}\selectfont, thick, rotate=90] (el3) {...};
 
     \node[inner sep=0pt, below =5.5ex of tumor1to4] (tumorK) {\includegraphics[trim=0 300 400 178,clip,width=20ex]{Plots/Clipart/heatmap.pdf}};

     \node[right=1ex of tumorK,font=\fontsize{20}{0}\selectfont, thick] (el5) {...};
     
     \node[inner sep=0pt, right= 0.5ex of el5] (tumorKp) {\includegraphics[trim=0 300 475 178,clip,width=5ex]{Plots/Clipart/heatmap.pdf}};
 
     \node[right=0.5ex of tumorKp,font=\fontsize{20}{0}\selectfont, thick] (el6) {...};
     
     \node[inner sep=0pt, right= 0.5ex of el6] (tumorKP) {\includegraphics[trim=475 300 0 178,clip,height=5ex]{Plots/Clipart/heatmap.pdf}};
    
     \node[draw=red,size=3pt,rectangle,fit=(tumorp) (tumorKp)] {};
\end{tikzpicture}

आउटपुट (उदाहरण 2):

अब सवाल यह है कि मैं उदाहरण 2 में उदाहरण 1 की व्याख्या कैसे करूं?

जवाब

2 muzimuzhiZ Aug 18 2020 at 06:30

सबसे पहले, inner sep=0.1cmप्रत्येक नोड के साथ वास्तव में आकार 0.2 सेमी x 0.2 सेमी है। इससे शीर्ष और दाएं में कोशिकाओं की आकार समस्या पैदा हो गई।

यहां मैं inner sep=0pt, minimum size=1cmइसके बजाय उपयोग करता हूं । आप क्रमशः blueऔर इसके बजाय एक और आधार रंग और यादृच्छिक रंग रेंज चुन सकते हैं [-75, 75]

\documentclass{article}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}[inner sep=0pt, minimum size=1cm]
    \foreach \y in {1, ..., 9} {
        % add vertical shift and dots
        \ifnum\y=2\relax
          \tikzset{yshift=-1cm}
        \else
          \ifnum\y=1\relax
            \path node at (5, \y+1) {\huge$\vdots$};
          \fi
        \fi
        
        \foreach \x in {1, ..., 9} {
            % add horizontal shift and dots
            \ifnum\x<8\relax
            \else
              \tikzset{xshift=1cm*(\x-7)}
              \ifnum\y=1\relax
              \path node at (\x-1, 5) {\huge\ldots}
                    node at (\x-1, 1) {\huge\ldots};
              \fi
            \fi
            
            % get random color
            \pgfmathparse{int(150*rnd-75)} % [-75, 75]
            % color range: blue!75!white .. blue!100 .. blue!75!black
            \ifnum\pgfmathresult>0\relax
              \colorlet{MyColor}{black!\pgfmathresult!blue}
            \else
              \edef\pgfmathresult{-\pgfmathresult}
              \colorlet{MyColor}{white!\pgfmathresult!blue}
            \fi
            
            % draw filled square
            \node[fill=MyColor] at (\x,\y) {};
        }
    }
\end{tikzpicture}
\end{document}