2002: 147344723 hosts 2001: 109574429 hosts 2000: 72398092 hosts 1999: 43230000 hosts 1998: 29670000 hosts 1997: 16146000 hosts 1996: 9472000 hosts 1995: 4852000 hosts 1994: 2217000 hosts 1993: 1200000 hosts 1992: 727000 hosts 1991: 500000 hosts 1990: 290000 hosts 1989: 80000 hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts internet hosts <?php
include ("diagram.php");

$Hosts=array(28174, 80000, 290000, 500000, 727000, 1200000, 2217000, 4852000, 9472000, 16146000, 29670000, 43230000, 72398092, 109574429, 147344723);
$log10=log(10);

function
LogScale($vv)
{ if ((
$vv>3)||($vv<-3)) return("10^".$vv);
  if (
$vv>=0) return(round(exp($vv*log(10))));
  else return(
1/round(exp(-$vv*log(10))));
}

$D=new Diagram();
$D->Img=@ImageCreate(600, 400) or die("Cannot create a new GD image.");
ImageColorAllocate($D->Img, 255, 255, 255); //background color

$D->SetFrame(80, 40, 570, 360);
$D->SetBorder(1988, 2002, log10($Hosts[0]), log10($Hosts[14]));
$D->SetText("Year", "Hosts", "Internet growth");
$D->XGridDelta=2;
$D->XSubGrids=2;
$D->YGridDelta=1;
$D->YSubGrids=-1;
$D->YScale="function LogScale";
$D->SetGridColor("#FFFFFF", "#EEEEEE");
$D->Draw("#DDDDDD", "#000000", true);

for (
$n=1; $n<count($Hosts); $n++)
  
$D->Line($D->ScreenX(1987+$n), $D->ScreenY(log10($Hosts[$n-1])), $D->ScreenX(1988+$n), $D->ScreenY(log10($Hosts[$n])), "#0000ff", 2, "internet hosts");

for (
$n=1; $n<count($Hosts); $n++)
  
$D->Dot($D->ScreenX(1988+$n), $D->ScreenY(log10($Hosts[$n])), 10, 1, "#ff0000", (1988+$n).": ".$Hosts[$n]." hosts");

ImagePng($D->Img, "logarithmic_scale.png");
ImageDestroy($D->Img);
?>
<HTML><HEAD></HEAD>
<BODY bgcolor="#eeeeee">
<table border=1><tr><td><IMG src="logarithmic_scale.png" usemap="#map1" border=0></td></tr></table>
<map name="map1">
<?echo $D->ImgMapData?>
</map>
</BODY>
</HTML>