一个例子

一个例子

我使用 pyplot 绘制了一个图表,并将其保存为 pdf 格式。然后我想在 tikz 中用相同的颜色绘制一条线,但颜色不匹配。

我得到这个结果: 在此处输入图片描述

我使用以下方法创建图表:

#!/usr/bin/env python

import numpy
import matplotlib.pyplot as plt
import sys


x=numpy.arange(0,10,0.1)
y=x
plt.plot(x,y,color='green', linewidth=15)
plt.savefig('graph.pdf')
plt.show()

,然后将其包含在我的文档中,如下所示:

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

\begin{document}    


\centering
green: \tikz{\draw[green,ultra thick] (0,0) -- ++(1,0);}

\includegraphics[width=\textwidth]{graph.pdf}

\end{document}

这只是我的 MWE,我希望有一种适用于所有颜色的通用方法,因为我的实际论文文档中有更多颜色。

答案1

我猜想,如果你在两种情况下以相同的方式定义颜色,它们会匹配。xcolor和都matplotlib允许你使用 RGB 元组(值在 0 到 1 范围内)来定义颜色,因此你可能会说例如

green = (0,1,0)
plt.plot(x,y,color=green)

matplotlib,和

\definecolor{green}{rgb}{0,1,0}
\draw [green] (0,0) -- (1,0);

在你的 LaTeX 文档中。

一个例子

仅作为示例,并尝试pythontex一下:

\documentclass{article}
\usepackage{pythontex}
\usepackage{tikz}
\definecolor{green}{rgb}{0,1,0}
\begin{document}

\tikz\draw[line width=3mm,green] (0,0) -- (5,0);

\begin{pycode}
import matplotlib.pyplot as plt
green = (0,1,0)
fig,ax = plt.subplots(figsize=(5,3))
ax.plot([0,1],[0,1],color=green,linewidth=3)
fig.savefig('fig.pdf',bbox_inches='tight')
\end{pycode}
\includegraphics{fig}
\end{document}

使用以下方式编译

pdflatex filename.tex
pythontex filename
pdflatex filename

你会得到

在此处输入图片描述

相关内容