Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 线图的自定义对数比例_Php_Jpgraph - Fatal编程技术网

Php 线图的自定义对数比例

Php 线图的自定义对数比例,php,jpgraph,Php,Jpgraph,我在jpgraph中遇到了一个问题:我需要创建一个图表(线),显示用户在一个有6000名其他玩家的在线游戏中的进度。因此,y轴显示用户在排名中的位置,从6000到1(最后一个位置到第一个位置)。x轴是时间轴 因此,首先,x轴刻度需要反转-在文档中没有问题 但是,我想要一个“类似”对数的刻度,意思是我想要x轴上的值,像这样:6000,5000,4000,3000,2000,1500,1000,900,800,700,600,500,400,300,200,100,50,40,30,20,10,9,

我在jpgraph中遇到了一个问题:我需要创建一个图表(线),显示用户在一个有6000名其他玩家的在线游戏中的进度。因此,y轴显示用户在排名中的位置,从6000到1(最后一个位置到第一个位置)。x轴是时间轴

因此,首先,x轴刻度需要反转-在文档中没有问题

但是,我想要一个“类似”对数的刻度,意思是我想要x轴上的值,像这样:6000,5000,4000,3000,2000,1500,1000,900,800,700,600,500,400,300,200,100,50,40,30,20,10,9,8,7,6,5,4,3,2,1

我已经设法得到了这样一个比例,但是值越小,标签之间的距离就越小。-我想要的是每个标签之间的距离相等。-因此,在图中,从6000到5000的步骤应与从50到40的步骤或从2到1的步骤占用相同的空间


希望我能解释清楚。如果没有,我会添加一张图(我画得很烂),我相信每个人都会明白我的意思。

如果所表示的值仅为正值,则可以将比例设置为负值,以便向后显示值,JPGraph用于以增量方式显示比例。在这种情况下,您将减小该值并使负值为正值

而不是1,2,3,4,5,你会得到5,4,3,2,1,因为-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5(你会反转这个),你所要做的就是用一个函数交换值

function _cb_negate ( $aVal ) { 
 return round (- $aVal ); 
} 
然后:

对于日志使用,您需要在xaxis中从最低到最高对值进行排序,因为您不能使用负值,或者对于jpgraph中处于线性刻度的日志值,您需要使用对数算法来处理数组中的值,并将其设为负值

希望它能起作用


编辑:在yaxis中添加了示例,也适用于xaxis:

如果表示的值仅为正值,则可以将比例设置为负值,以便向后显示值,JPGraph用于以增量方式显示比例。在这种情况下,您将减小该值并使负值为正值

而不是1,2,3,4,5,你会得到5,4,3,2,1,因为-5,-4,-3,-2,-1,0,+1,+2,+3,+4,+5(你会反转这个),你所要做的就是用一个函数交换值

function _cb_negate ( $aVal ) { 
 return round (- $aVal ); 
} 
然后:

对于日志使用,您需要在xaxis中从最低到最高对值进行排序,因为您不能使用负值,或者对于jpgraph中处于线性刻度的日志值,您需要使用对数算法来处理数组中的值,并将其设为负值

希望它能起作用


编辑:在yaxis中添加了示例,也可以使用xaxis:

如果有人知道如何使用另一个库(而不是jpgraph)实现这一点……如果有人知道如何使用另一个库(而不是jpgraph)实现这一点。。。