画图工具使用gnuplot&graphviz

用python命令在当前目录开一个http服务,浏览器看生成的图片,对于远程服务器工作的我真是爽歪歪

python -m SimpleHTTPServer


gnuplot 画简单分布图。工程中混合高斯模型看效果要用 记录一下

画出类似下面图一

#!/bin/bash

if [ $# != 1 ]; then
    echo "Usage: $0 dir"
    exit 0
fi

rm *.data
rm *.jpg
dir=$1
files=`ls ${dir}`
i=1
for file in ${files}
do
    filename=${dir}/${file}
    echo ${file}
    cat ${filename} | awk '{if(substr($0, 0, 1) != "#") a[$1] += 1} END{ for(i in a) {print i" "a[i]}}' > ${file}.${i}.data #数据为 (x, y)坐标 画出线状图
    echo "
        set term jpeg 
        set output \"${i}.jpg\"
        set size 1, 1
        set xlabel \"distance\"
        set ylabel \"times\"
        set key right bottom
        plot \"${file}.${i}.data\" title \"dis&franquce\" with impulse #控制图的样子(折线 柱状 线状。。)
        " | gnuplot 
    let "i = i + 1"
done


graphviz用来画类似流程图之类的图, awk用来生成 .viz文件,

-v传进awk脚本变量, -f执行awk脚本 dot命令画图

cat *** | awk -v red_file=unmatched_contig_idlist -f ../graphviz.awk > Ecoli_test.ec-graph.viz
dot -Tjpg -o Ecoli_test.ec-graph.jpg Ecoli_test.ec-graph.viz

BEGIN {
    printf("digraph {\n");
    if (red_file != "") {
        while (getline<red_file) {
            printf("%s[style=filled,color=red];\n", $1);
        }
    }
} {
    gsub("-", "_", $2);
    gsub("-", "_", $3);
    if ($4 == 0) {
        printf("%s->%s[label=\"%d\"];\n", $3, $2, $5 - $4 + 1);
    } else if ($7 == 0) {
        printf("%s->%s[label=\"%d\"];\n", $2, $3, $8 - $7 + 1);
    }
} END {
    printf("}\n");
}


.viz文件

点边的格式颜色什么的都可以修改

digraph {
<p class="p1"><span class="s1">TCCCG[style=filled,color=red];</span></p>
TCCCG->CCCGA[label="A"];

TTCCC->TCCCG[label="G"];

GTTCC->TTCCC[label="C"];

TGTTC->GTTCC[label="C"];

CTGTT->TGTTC[label="C"];

GACTG->ACTGT[label="T"];

ACTGT->CTGTT[label="T"];

CGACT->GACTG[label="G"];

CCGAC->CGACT[label="T"];

CCCGA->CCGAC[label="C"];

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值