将颜色应用于可视化工具并将其用于不同的部分

将颜色应用于可视化工具并将其用于不同的部分

我想在本地覆盖样式表颜色并具有:

  • 将数据固定为与绘制的数据集相同的颜色
  • 能够在“信息”部分访问数据集颜色

目前我有: 结果

  • 数据集“foo”的引脚数据颜色错误(“x”是黑色而不是绿色)
  • 图例颜色错误(“x” 是黑色而不是绿色)
  • 不知道如何将文本“foo / bar”设置为所需的颜色(foo 为绿色,bar 为红色)
\documentclass{book}

\usepackage{tikz}
\usetikzlibrary {datavisualization.formats.functions}
\begin{document}


\tikz
    \datavisualization[
      scientific axes={clean},
      visualize as smooth line/.list={foo,bar},
      x axis={ grid={major also at=2} },
      every data set label/.append style={text colored},
      style sheet=strong colors,
      foo={
        style=green,
        label in legend={text=$x$},
        pin in data={text'=$x$, when=y is 1},
      },
      bar={
        label in legend={text=$x/2$},
        pin in data={text'=$x/2$, when=y is 1},
      },
      legend={below},      
    ]
    data [set=foo,format=function] {
      var x : interval [0:5] samples 100;
      func y =   \value{x};
    }
    data [set=bar,format=function] {
      var x : interval [0:5] samples 100;
      func y =   0.5 *  \value{x};
    }
    info {
      \node at (visualization cs: x=1, y=2) {
        foo / bar
      };
    };


\end{document}

答案1

这个答案可能有点晚了,但你可以尝试以下内容。

\documentclass{book}

\usepackage{tikz}
\usetikzlibrary {datavisualization.formats.functions}
\begin{document}
    
    
    \tikz
    \datavisualization[
    scientific axes={clean},
    visualize as smooth line/.list={foo,bar},
    x axis={ grid={major also at=2} },
    every data set label/.append style={text colored},
    /pgf/data visualization/style sheets/strong colors/1/.style={visualizer color=green},
    style sheet=strong colors,
    foo={
        label in legend={text=$x$},
        pin in data={text'=$x$, when=y is 1},
    },
    bar={
        label in legend={text=$x/2$},
        pin in data={text'=$x/2$, when=y is 1},
    },
    legend={below},      
    ]
    data [set=foo,format=function] {
        var x : interval [0:5] samples 100;
        func y =   \value{x};
    }
    data [set=bar,format=function] {
        var x : interval [0:5] samples 100;
        func y =   0.5 *  \value{x};
    }
    info {
        \node at (visualization cs: x=1, y=2) {
            foo / bar
        };
    };
    
    
\end{document}

此解决方案修改了标准颜色表strong colors,我不确定这是否会产生任何不良副作用。但是它似乎在您的示例中有效。

我不知道是否可以将数据可视化器的颜色info直接放入该部分。

我认为,最好以任何方式定义您自己的样式表来执行您要执行的操作。这样,您就可以完全控制所使用的颜色,并且可以通过常规宏等引用它们。

相关内容