座標軸範圍及刻度的自適應演算法

2021-09-02 19:35:26 字數 1249 閱讀 8120

本文參考部落格:

由於我是固定了刻度數,美觀的呈現圖表,所以在原博主演算法上進行了修改

var calculaterulermark = function(arrmark, nummin, nummax, iheight, iactualmarknum)

var iminmark = nummin;

var imaxmark = nummax;

var isuggestmarknum = parseint(iheight / 20) + 1;

//傳了實際的進來說明,實際的比建議的大

iactualmarknum = iactualmarknum ? iactualmarknum - 1 : isuggestmarknum;

var isuggeststep = (nummax - nummin) / iactualmarknum;

var ibase = math.pow(10, parseint(math.log(isuggeststep)/math.log(10)));

if(ibase != isuggeststep)

var itempstep = (isuggeststep / ibase).tofixed(6);

// 常規步長 0.1, 0.2, 0.25, 0.5 , 1

if(itempstep >= 0 && itempstep <= 0.1)

else if(itempstep >=0.100001 && itempstep <= 0.2)

else if(itempstep >= 0.200001 && itempstep <= 0.25)

else if(itempstep >= 0.250001 && itempstep <= 0.5)

else

itempstep = itempstep * ibase;

//判斷最小刻度是否需要+1

if(parseint(nummin / itempstep) != nummin / itempstep)

else

}//判斷最大刻度是否需要+1

if(parseint(nummax / itempstep) != nummax / itempstep)

else

}var itempmarknum = (imaxmark - iminmark) / itempstep + 1;

if(itempmarknum > isuggestmarknum)

else }

}

matplotlib 修改座標軸刻度值,刻度個數

主要是設定座標軸刻度值的數值特徵 例如為2 或 5 或 10 的倍數 以及 刻度值的文字格式 如 浮點型 或者 整型 這個是在工作中處理資料遇到的,系統自動預設的座標軸上的資料是浮點數,而我要求是整數 目前已解決 關鍵 from matplotlib.ticker import multiplelo...

Matplotlib座標軸刻度 標籤 標題

import numpy as np import matplotlib.pyplot as plt 1 圖形繪製 x np.linspace 0,2 np.pi x軸 y軸 y np.sin x 正弦 plt.plot x,y 2 設定x軸y軸刻度 plt.xticks np.arange 0,7...

調整座標軸的刻度 locator params

在python中,可以使用locator params進行對座標軸刻度的調整,通過nbins設定座標軸一共平均分為幾份,也可以顯式的指定要調整的座標軸,可以通過物件導向的方式或者是pyplot的方式,pyplot的方式更簡單。usr bin python coding utf 8 import nu...