Php 线图的自定义对数比例
我在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的步骤占用相同的空间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用于以增量方式显示比例。在这种情况下,您将减小该值并使负值为正值 而不是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)实现这一点。。。