波形表示にいままで mathplot をつかっていたのですがwavedrom に変更しました。wavedrom は javascript で書かれた波形などを書くためのライブラリです。
mathplot vs wavedrom
wavedrom での波形

mathplot での波形

ということで埋め込みます
ん?上の画像、、、、画像というのが変ですね。wavedrom は javascript なので埋め込み可能です。埋め込んでみましょう。
wavedrom 埋め込み
Javascript の記述
<div style="width:50vw"
<script type="WaveDrom">
{ signal: [
{ name: "clk", wave: "P.....|..." },
{ name: "Data", wave: "x.345x|=.x",
data: ["head", "body", "tail", "data"] },
{ name: "Request", wave: "0.1..0|1.0" },
{},
{ name: "Acknowledge", wave: "1.....|01." }
]}
</script>
</div>
nbwavedrom はちょっと古い
さて、nbwavedrom という jupyter の extension があり、一瞬使えそうな気がしますが、(ほとんど使えるのですが)標準だとエラーになってしまいます。どうやら、いまの jupyter とは相性が悪いようです。wavedrom.js 内の次のコードがエラーになります。
wavedrom.js
// add styles
/*
document.head.innerHTML += '';
*/
エラー内容は次のようになります。
Javascript error adding output! TypeError: t.head.appendChild(...).parentNode is null See your browser Javascript console for more details.
これは上記の innerHTML を単純にけずり、そして、jupyter に持ってくることで解決します。wavedrom の js も少し古いようなので、nbwavedrom は参考程度と考え、自分のコードに直接埋め込んでいいかと思います。
リンク集
wavedrom 本家。波形だけじゃなくて回路図もかけます。
wavedrom を jupyter で動かすための extension 。メンテナンスされていないようでエラーになる。中身は簡単なのでそれをコピペすればよい。extension とするほどでもない。
