Changes between Initial Version and Version 1 of css/databrowser_OPI_param


Ignore:
Timestamp:
03/08/13 11:44:27 (12 years ago)
Author:
Takashi Obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • css/databrowser_OPI_param

    v1 v1  
     1= BOY OPI中に張り付けた DataBrowser のスケールを変更したい =
     2
     3== 概要 ==
     4XYGraphのスケール変更はpropertyを変えるだけなので容易に実現できる。
     5しかし、DataBrowserは別のpltファイルを読んでいるだけで、横軸・縦軸の変更はデフォルトでは不可能。
     6いままでは個別のpltファイルを別のDataBrowserプロットとして新しいViewとして表示し、レイアウトをマウスで変更することで複数のグラフを表示してきた。
     7しかし、これでは決まったグラフをいつもと同じ場所に表示したいときに不便。
     8
     9== 対策 ==
     10[[Image(DataBrowser_from_OPI.png)]]
     11
     12水平軸(時間軸)変更スクリプト
     13{{{
     14from org.csstudio.opibuilder.scriptUtil import PVUtil
     15import time
     16
     17ts = time.time()*1e3  # in unit of ms
     18hscale = float(display.getWidget("Inp_HScale").getValue())
     19
     20# set time range from ts - <hscale>min to ts
     21display.getWidget("DataBrowser1").figure.dataBrowserPlot.XYGraph.primaryXAxis.setRange(ts - hscale*60*1000, ts)
     22}}}
     23
     24垂直軸変更スクリプト
     25{{{
     26from org.csstudio.opibuilder.scriptUtil import PVUtil
     27
     28vmin = float(display.getWidget("Inp_VScale_min").getValue())
     29vmax = float(display.getWidget("Inp_VScale_max").getValue())
     30
     31display.getWidget("DataBrowser1").figure.dataBrowserPlot.XYGraph.primaryYAxis.setAutoScale(False)
     32display.getWidget("DataBrowser1").figure.dataBrowserPlot.XYGraph.primaryYAxis.setRange(vmin, vmax)
     33
     34}}}
     35
     36垂直軸 Auto Scale に設定する場合
     37{{{
     38from org.csstudio.opibuilder.scriptUtil import PVUtil
     39display.getWidget("DataBrowser1").figure.dataBrowserPlot.XYGraph.primaryYAxis.setAutoScale(True)
     40}}}