From 104de3c57e1dde08ab6e66533e3310a04fa1ed37 Mon Sep 17 00:00:00 2001 From: Hideki Shimizu Date: Thu, 31 Oct 2019 19:15:18 +0900 Subject: [PATCH] [mod] sample figure --- README.md | 2 +- example.eps | 101 ---------------------------------------------------- example.png | Bin 0 -> 14664 bytes 3 files changed, 1 insertion(+), 102 deletions(-) delete mode 100644 example.eps create mode 100644 example.png diff --git a/README.md b/README.md index 373f3bf..4d91d0e 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Easy python script to draw timing diagram by using pyroot. -![example](/example.eps) +![example](/example.png) ## Requirement diff --git a/example.eps b/example.eps deleted file mode 100644 index aad17e1..0000000 --- a/example.eps +++ /dev/null @@ -1,101 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%BoundingBox: 0 0 567 404 -%%Title: /usr/local/works/ROOT/timing-diagram/example.eps: Timing Diagram -%%Creator: ROOT Version 6.18/04 -%%CreationDate: Thu Oct 31 19:03:20 2019 -%%DocumentNeededResources: ProcSet (FontSetInit) -%%EndComments -%%BeginProlog -80 dict begin -/s {stroke} def /l {lineto} def /m {moveto} def /t {translate} def -/r {rotate} def /rl {roll} def /R {repeat} def -/d {rlineto} def /rm {rmoveto} def /gr {grestore} def /f {eofill} def -/c {setrgbcolor} def /black {0 setgray} def /sd {setdash} def -/cl {closepath} def /sf {scalefont setfont} def /lw {setlinewidth} def -/box {m dup 0 exch d exch 0 d 0 exch neg d cl} def -/NC{systemdict begin initclip end}def/C{NC box clip newpath}def -/bl {box s} def /bf {gsave box gsave f grestore 1 lw [] 0 sd s grestore} def /Y { 0 exch d} def /X { 0 d} def -/K {{pop pop 0 moveto} exch kshow} bind def -/ita {/ang 15 def gsave [1 0 ang dup sin exch cos div 1 0 0] concat} def -/mp {newpath /y exch def /x exch def} def -/side {[w .77 mul w .23 mul] .385 w mul sd w 0 l currentpoint t -144 r} def -/mr {mp x y w2 0 360 arc} def /m24 {mr s} def /m20 {mr f} def -/mb {mp x y w2 add m w2 neg 0 d 0 w neg d w 0 d 0 w d cl} def -/mt {mp x y w2 add m w2 neg w neg d w 0 d cl} def -/w4 {w 4 div} def -/w6 {w 6 div} def -/w8 {w 8 div} def -/m21 {mb f} def /m25 {mb s} def /m22 {mt f} def /m26{mt s} def -/m23 {mp x y w2 sub m w2 w d w neg 0 d cl f} def -/m27 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl s} def -/m28 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl s } def -/m29 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl fill gr} def -/m30 {mp gsave x w2 sub y w2 add w3 sub m currentpoint t 4 {side} repeat cl s gr} def -/m31 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def -/m32 {mp x y w2 sub m w2 w d w neg 0 d cl s} def -/m33 {mp x y w2 add m w3 neg w2 neg d w3 w2 neg d w3 w2 d cl f} def -/m34 {mp x w2 sub y w2 sub w3 add m w3 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d cl f } def -/m35 {mp x y w2 add m w2 neg w2 neg d w2 w2 neg d w2 w2 d w2 neg w2 d x y w2 sub m 0 w d x w2 sub y m w 0 d s} def -/m36 {mb x w2 sub y w2 add m w w neg d x w2 sub y w2 sub m w w d s} def -/m37 {mp x y m w4 neg w2 d w4 neg w2 neg d w2 0 d w4 neg w2 neg d w2 0 d w4 neg w2 d w2 0 d w4 neg w2 d w4 neg w2 neg d cl s} def -/m38 {mp x w4 sub y w2 add m w4 neg w4 neg d 0 w2 neg d w4 w4 neg d w2 0 d w4 w4 d 0 w2 d w4 neg w4 d w2 neg 0 d x y w2 sub m 0 w d x w2 sub y m w 0 d cl s} def -/m39 {mp x y m w4 neg w2 d w4 neg w2 neg d w2 0 d w4 neg w2 neg d w2 0 d w4 neg w2 d w2 0 d w4 neg w2 d w4 neg w2 neg d cl f} def -/m40 {mp x y m w4 w2 d w4 w4 neg d w2 neg w4 neg d w2 w4 neg d w4 neg w4 neg d w4 neg w2 d w4 neg w2 neg d w4 neg w4 d w2 w4 d w2 neg w4 d w4 w4 d w4 w2 neg d cl s} def -/m41 {mp x y m w4 w2 d w4 w4 neg d w2 neg w4 neg d w2 w4 neg d w4 neg w4 neg d w4 neg w2 d w4 neg w2 neg d w4 neg w4 d w2 w4 d w2 neg w4 d w4 w4 d w4 w2 neg d cl f} def -/m42 {mp x y w2 add m w8 neg w2 -3 4 div mul d w2 -3 4 div mul w8 neg d w2 3 4 div mul w8 neg d w8 w2 -3 4 div mul d w8 w2 3 4 div mul d w2 3 4 div mul w8 d w2 -3 4 div mul w8 d w8 neg w2 3 4 div mul d cl s} def -/m43 {mp x y w2 add m w8 neg w2 -3 4 div mul d w2 -3 4 div mul w8 neg d w2 3 4 div mul w8 neg d w8 w2 -3 4 div mul d w8 w2 3 4 div mul d w2 3 4 div mul w8 d w2 -3 4 div mul w8 d w8 neg w2 3 4 div mul d cl f} def -/m44 {mp x y m w6 neg w2 d w2 2 3 div mul 0 d w6 neg w2 neg d w2 w6 d 0 w2 -2 3 div mul d w2 neg w6 d w6 w2 neg d w2 -2 3 div mul 0 d w6 w2 d w2 neg w6 neg d 0 w2 2 3 div mul d w2 w6 neg d cl s} def -/m45 {mp x y m w6 neg w2 d w2 2 3 div mul 0 d w6 neg w2 neg d w2 w6 d 0 w2 -2 3 div mul d w2 neg w6 d w6 w2 neg d w2 -2 3 div mul 0 d w6 w2 d w2 neg w6 neg d 0 w2 2 3 div mul d w2 w6 neg d cl f} def -/m46 {mp x y w4 add m w4 neg w4 d w4 neg w4 neg d w4 w4 neg d w4 neg w4 neg d w4 w4 neg d w4 w4 d w4 w4 neg d w4 w4 d w4 neg w4 d w4 w4 d w4 neg w4 d w4 neg w4 neg d cl s} def -/m47 {mp x y w4 add m w4 neg w4 d w4 neg w4 neg d w4 w4 neg d w4 neg w4 neg d w4 w4 neg d w4 w4 d w4 w4 neg d w4 w4 d w4 neg w4 d w4 w4 d w4 neg w4 d w4 neg w4 neg d cl f} def -/m48 {mp x y w4 add m w4 neg w4 d w4 neg w4 neg d w4 w4 neg d w4 neg w4 neg d w4 w4 neg d w4 w4 d w4 w4 neg d w4 w4 d w4 neg w4 d w4 w4 d w4 neg w4 d w4 neg w4 neg d w4 w4 neg d w4 neg w4 neg d w4 neg w4 d w4 w4 d cl f} def -/m49 {mp x w2 sub w3 add y w2 sub w3 add m 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 d w3 neg 0 d 0 w3 d w3 neg 0 d 0 w3 neg d w3 neg 0 d 0 w3 neg d w3 0 d 0 w3 d w3 0 d 0 w3 neg d w3 neg 0 d cl f } def -/m2 {mp x y w2 sub m 0 w d x w2 sub y m w 0 d s} def -/m5 {mp x w2 sub y w2 sub m w w d x w2 sub y w2 add m w w neg d s} def -%%IncludeResource: ProcSet (FontSetInit) -%%IncludeResource: font Times-Roman -%%IncludeResource: font Times-Italic -%%IncludeResource: font Times-Bold -%%IncludeResource: font Times-BoldItalic -%%IncludeResource: font Helvetica -%%IncludeResource: font Helvetica-Oblique -%%IncludeResource: font Helvetica-Bold -%%IncludeResource: font Helvetica-BoldOblique -%%IncludeResource: font Courier -%%IncludeResource: font Courier-Oblique -%%IncludeResource: font Courier-Bold -%%IncludeResource: font Courier-BoldOblique -%%IncludeResource: font Symbol -%%IncludeResource: font ZapfDingbats -/reEncode {exch findfont dup length dict begin {1 index /FID eq {pop pop} {def} ifelse } forall /Encoding exch def currentdict end dup /FontName get exch definefont pop } def [/Times-Bold /Times-Italic /Times-BoldItalic /Helvetica /Helvetica-Oblique - /Helvetica-Bold /Helvetica-BoldOblique /Courier /Courier-Oblique /Courier-Bold /Courier-BoldOblique /Times-Roman /AvantGarde-Book /AvantGarde-BookOblique /AvantGarde-Demi /AvantGarde-DemiOblique /Bookman-Demi /Bookman-DemiItalic /Bookman-Light - /Bookman-LightItalic /Helvetica-Narrow /Helvetica-Narrow-Bold /Helvetica-Narrow-BoldOblique /Helvetica-Narrow-Oblique /NewCenturySchlbk-Roman /NewCenturySchlbk-Bold /NewCenturySchlbk-BoldItalic /NewCenturySchlbk-Italic /Palatino-Bold - /Palatino-BoldItalic /Palatino-Italic /Palatino-Roman ] {ISOLatin1Encoding reEncode } forall -%%EndProlog -%%BeginSetup -%%EndSetup -newpath gsave .25 .25 scale gsave 0 0 t black[ ] 0 sd 3 lw 1 1 1 c 2268 1616 0 0 bf black - gsave 2268 1616 0 0 C 929.623 1538.81 t 0 r /Times-Bold findfont 45.7769 sf 0 0 m (Timing Diagram) show NC gr - gsave 2268 1616 0 0 C 340.157 1379.22 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (0ns) show NC gr - gsave 2268 1616 0 0 C 1927.56 1379.22 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (200ns) show NC gr - gsave 2268 1616 0 0 C 226.772 1328.59 t 0 r -133 0 t /Times-Roman findfont 45.7769 sf 0 0 m (Trigger) show NC gr - gsave 2268 1616 0 0 C 340.157 1109.84 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (0ns) show NC gr - gsave 2268 1616 0 0 C 1927.56 1109.84 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (200ns) show NC gr - gsave 2268 1616 0 0 C 226.772 1059.21 t 0 r -75 0 t /Times-Roman findfont 45.7769 sf 0 0 m (data) show NC gr - gsave 2268 1616 0 0 C 340.157 840.464 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (0ns) show NC gr - gsave 2268 1616 0 0 C 1927.56 840.464 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (200ns) show NC gr - gsave 2268 1616 0 0 C 226.772 789.827 t 0 r -97 0 t /Times-Roman findfont 45.7769 sf 0 0 m (data2) show NC gr - gsave 2268 1616 0 0 C 340.157 571.084 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (0ns) show NC gr - gsave 2268 1616 0 0 C 1927.56 571.084 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (200ns) show NC gr - gsave 2268 1616 0 0 C 226.772 520.448 t 0 r -97 0 t /Times-Roman findfont 45.7769 sf 0 0 m (data3) show NC gr - gsave 2268 1616 0 0 C 340.157 301.705 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (0ns) show NC gr - gsave 2268 1616 0 0 C 1927.56 301.705 t 0 r /Times-Roman findfont 31.6917 sf 0 0 m (200ns) show NC gr - gsave 2268 1616 0 0 C 226.772 251.069 t 0 r -97 0 t /Times-Roman findfont 45.7769 sf 0 0 m (data4) show NC gr 340 1347 m 80 X s 420 1347 m -81 Y s 420 1266 m 39 X s 459 1266 m 81 Y s 459 1347 m 1469 X s 340 1078 m 80 X s 420 1078 m -81 Y s 420 - 997 m 79 X s 499 997 m 81 Y s 499 1078 m 79 X s 578 1078 m -81 Y s 578 997 m 159 X s 737 997 m 81 Y s 737 1078 m 79 X s 816 1078 m -81 Y s 816 997 m 16 X s 832 997 m 81 Y s 832 1078 m 24 X s 856 1078 m -81 Y s 856 997 m 111 X s 967 997 m 81 Y s 967 - 1078 m 961 X s 340 808 m 111 X s 451 808 m -81 Y s 451 727 m 80 X s 531 727 m 81 Y s 531 808 m 63 X s 594 808 m -81 Y s 594 727 m 143 X s 737 727 m 81 Y s 737 808 m 111 X s 848 808 m -81 Y s 848 727 m 103 X s 951 727 m 81 Y s 951 808 m 127 X s 1078 - 808 m -81 Y s 1078 727 m 500 X s 1578 727 m 81 Y s 1578 808 m 350 X s 340 539 m 111 X s 451 539 m -81 Y s 451 458 m 80 X s 531 458 m 81 Y s 531 539 m 63 X s 594 539 m -81 Y s 594 458 m 143 X s 737 458 m 81 Y s 737 539 m 111 X s 848 539 m -81 Y s 848 - 458 m 103 X s 951 458 m 81 Y s 951 539 m 127 X s 1078 539 m -81 Y s 1078 458 m 500 X s 1578 458 m 81 Y s 1578 539 m 350 X s 340 269 m 111 X s 451 269 m -80 Y s 451 189 m 80 X s 531 189 m 80 Y s 531 269 m 63 X s 594 269 m -80 Y s 594 189 m 143 X s - 737 189 m 80 Y s 737 269 m 111 X s 848 269 m -80 Y s 848 189 m 103 X s 951 189 m 80 Y s 951 269 m 127 X s 1078 269 m -80 Y s 1078 189 m 500 X s 1578 189 m 80 Y s 1578 269 m 350 X s - gr gr showpage -end -%%EOF diff --git a/example.png b/example.png new file mode 100644 index 0000000000000000000000000000000000000000..2011505a4ddfe147524f7c783d96a7d4e3b9627c GIT binary patch literal 14664 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 literal 0 HcmV?d00001 -- GitLab