MetaPost 图表:我们如何让 setrange 接受负坐标(当数字系统不是比例时)?

MetaPost 图表:我们如何让 setrange 接受负坐标(当数字系统不是比例时)?

我想用 MetaPost 包绘制图形graph。我刚刚注意到,当不是时,setrange不接受负坐标。-numbersystemscale

更准确地说,它取它们的绝对值,因此setrange(-4,0,11,100)实际上将其视为setrange(4,0,11,100)

有人知道如何解决这个问题吗?

下面的示例重现了该错误。

outputformat:="eps";
prologues:=3;
input graph
outputtemplate:="figure-01.eps";
beginfig(1);
Width:=7cm;
    draw begingraph(Width,0.618034*Width);
        setrange(-4,0,+11,100);
        gdraw "setrange.data";
    endgraph;
endfig;
bye;

使用数据文件setrange.data

-10 100
-9 81
-8 64
-7 49
-6 36
-5 25
-4 16
-3 9
-2 4
-1 1
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100

答案1

新数字系统的一个错误。特别是,似乎marith.mp只有 时 的部分才会起作用numbersystem=scaled

因此,解决这个问题的方法是(至少目前)在使用时坚持使用默认数字系统graph.mp

相关内容