我用gnuplot
它来绘制输入文件。我将这个文件传递给gnuplot
bash 脚本,输出是.ps
。然后我在 bash 脚本中将其转换为 pdf,但 pdf 截断了其余的绘图。我有吨输入文件中的数据量很大,图表也很大,pdf 文件只显示前 100 个值,其余值不显示,我甚至无法向左或向右滚动。有什么帮助吗?
以下是我使用的脚本:
#!/bin/bash
sed -i 's/ns/;/g' /dev/shm/waitingTime$1.txt
sed -i 's/ns/;/g' /dev/shm/thinkingTime$1.txt
gnuplot -e "fileW='/dev/shm/waitingTime$1.txt'; fileT='/dev/shm/thinkingTime$1.txt'; wtout='/dev/shm/wt$1.ps'; ttout='/dev/shm/tt$1.ps'" file.gnuplot
cat /dev/shm/wt$1.ps | ps2pdf - /dev/shm/wt$1.pdf
cat /dev/shm/tt$1.ps | ps2pdf - /dev/shm/tt$1.pdf
答案1
好吧,这听起来可能很愚蠢,但也许文件中的某个字符或某些内容ps
在 期间丢失了cat
?也许是某些不可打印的内容?与其将文件通过管道传输到stdin
,ps2pdf
也许您可以直接使用 GhostScript?下面我添加了两个命令来执行此操作(通过 调用 GhostScript gs
)。为了安全起见(但可能没有必要),我添加了一些开关以确保所有内容都包含在内(字体、光栅图像不会被修改)等。
gs -q -dEmbedAllFonts=true -dSubsetFonts=true -dCompressFonts=true -dOptimize=true -dPreserveCopyPage=false -dPreserveEPSInfo=false -dPreserveHalftoneInfo=false -dPreserveOPIComments=false -dPreserveOverprintSettings=false -dPreserveSeparation=false -dPreserveDeviceN=false -dMaxBitmap=2147483647 -dDownsampleMonoImages=false -dDownsampleGrayImages=false -dDownsampleColorImages=false -dDetectDuplicateImages=true -dHaveTransparency=true -dFastWebView=false -dNOPAUSE -dQUIET -dBATCH -dSAFER -sDEVICE=pdfwrite -dAutoRotatePages=/PageByPage -sOutputFile=/dev/shm/wt$1.pdf /dev/shm/wt$1.ps -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams"
gs -q -dEmbedAllFonts=true -dSubsetFonts=true -dCompressFonts=true -dOptimize=true -dPreserveCopyPage=false -dPreserveEPSInfo=false -dPreserveHalftoneInfo=false -dPreserveOPIComments=false -dPreserveOverprintSettings=false -dPreserveSeparation=false -dPreserveDeviceN=false -dMaxBitmap=2147483647 -dDownsampleMonoImages=false -dDownsampleGrayImages=false -dDownsampleColorImages=false -dDetectDuplicateImages=true -dHaveTransparency=true -dFastWebView=false -dNOPAUSE -dQUIET -dBATCH -dSAFER -sDEVICE=pdfwrite -dAutoRotatePages=/PageByPage -sOutputFile=/dev/shm/tt$1.pdf /dev/shm/tt$1.ps -c ".setpdfwrite <</NeverEmbed [ ]>> setdistillerparams"
或者您可以ps2pdf
直接使用(意思是类似的ps2pdf tt$1.ps
)......无论如何,我不确定的优势cat
,除了它增加一些可能会失败的额外东西(再说一次,我也复制粘贴了我最喜欢的所有开关......)