Console print a bar graph
JavaScript (Node.js), 316 bytes



a=&gt;a.map((x,i)=&gt;{d=Math.abs(x-~-(n=a[i+1]))/3
for(i in n?"    ":s=" ")for(j in o="|o"[+!+i].padEnd(x&gt;n?x-d*i|0:x+d*i|0,"|")[S="padStart"](m,"."))A[j]+=o[j]},A=Array((m=Math.max(...a))+2).fill(""))&amp;&amp;A.map((x,i)=&gt;x?(m-i+"|.")[S](4,0)+x+".":i&gt;m?s+s+a.map((_,I)=&gt;s+(-~I+s)[S](3,0)).join``:"  +".padEnd(a.length*4+2,"-"))


Try it online!