我正在尝试使用以下序列图重新创建pgf-umlsd
:
我感兴趣的是如何更改呼叫栏的背景颜色。
以下是我目前得到的信息:
\documentclass{article}
\usepackage{pgf-umlsd}
\begin{document}
\begin{figure}
\centering
\begin{sequencediagram}
\newthread{browser}{Browser}{}
\newinst[1]{web}{Web process}{}
\newinst[1]{ext}{External service}{}
\begin{call}{browser}{HTTP request}{web}{HTTP response}
\begin{call}{web}{Fetch RSS}{ext}{}
\begin{call}{ext}{\color{red}!! Not responsive !!}{ext}{}
\end{call}
\end{call}
\end{call}
\end{sequencediagram}
\end{figure}
\end{document}
答案1
可以使用可选参数 来更改线程中条形的颜色\newthread
。例如,如果您将代码更改为
\newthread[blue]{browser}{Browser}{}
所有条形图都变成蓝色而不是灰色。
但您也可以使用不同的颜色。条形图是用 绘制的\draw [threadstyle] ...
,因此您可以简单threadstyle
地沿途重新定义,例如\tikzset{threadstyle/.style={fill=cyan}}
。
\documentclass{article}
\usepackage{pgf-umlsd}
\begin{document}
\begin{figure}
\centering
\begin{sequencediagram}
\newthread[blue!50!red]{browser}{Browser}{}
\newinst[1]{web}{Web process}{}
\newinst[1]{ext}{External service}{}
\begin{call}{browser}{HTTP request}{web}{HTTP response}
\tikzset{threadstyle/.style={top color=white,bottom color=red}}
\begin{call}{web}{Fetch RSS}{ext}{}
\tikzset{threadstyle/.style={fill=cyan}}
\begin{call}{ext}{\color{red}!! Not responsive !!}{ext}{}
\tikzset{threadstyle/.style={fill=red}}
\end{call}
\end{call}
\end{call}
\end{sequencediagram}
\end{figure}
\end{document}
对于带有红色阴影的一条条形图:
\documentclass{article}
\usepackage{pgf-umlsd}
\begin{document}
\begin{figure}
\centering
\begin{sequencediagram}
\newthread[white]{browser}{Browser}{}
\newinst[1]{web}{Web process}{}
\newinst[1]{ext}{External service}{}
\begin{call}{browser}{HTTP request}{web}{HTTP response}
\tikzset{threadstyle/.style={top color=white,bottom color=red}}
\begin{call}{web}{Fetch RSS}{ext}{}
\tikzset{threadstyle/.style={fill=white}}
\begin{call}{ext}{\color{red}!! Not responsive !!}{ext}{}
\end{call}
\end{call}
\end{call}
\end{sequencediagram}
\end{figure}
\end{document}