我在与我工作相关的网络界面上工作了一段时间。我有一些数据,我迭代地适应模型。在每次迭代中,我都会创建一个Gnuplot图形,该图形上线以帮助我跟踪过程。它工作得很好,但是,我有一些与帆布终端相关的小问题,我很长时间都无法修复。我使用Gnuplot 4.6.5和几个浏览器。他们都表现得一致。
这是一个这样一个页面的例子,有两个数字: http://stelweb.asu.cas.cz/~nemeth/xtgrid_log/xtgrid_008_r1458384bfCsdd_dat.html
我对x轴的抽动和分辨率感到困惑,我认为这些问题可能是相关的:
1 - 图下方的x轴坐标不显示小数。我认为x坐标被Gnuplot截断了。
2 - 当我们放大时,轴的抽动消失。
3 - 我有一些标签定义为:"设置标签位于x,屏幕0.2' ...某些标签......' " 放大时这些标签会消失,即使它们设置为屏幕y坐标(0.2)。
4 - 当鼠标移动到图2并再次返回到1时,图1中的缩放重置。这可能是一个html / java问题。
生成这些数字的Gnuplot脚本如下所示:
set encoding iso_8859_1
set terminal canvas solid butt size 1024,410 name figure1 mousing lw 0.7
set output "figure1.js"
set samples 50, 50
set size ratio 0.4
set xtics autofreq 200
set mxtics 4
set xr [4000:5000]
set ylab "Relative flux"
set xlab "Wavelength (\305)"
set format y "%1.1e"
load 'lines.gnp' # just a bunch of labels
plot " ... some file ... "
我想知道是否对这些不便有一般性的解决方法。
问题#4: Gnuplot生成的javascript就像这样开始:
function ALue310128bfCsdd_dat_7_0()
{
canvas = document.getElementById("ALue310128bfCsdd_dat_7_0");
ctx = canvas.getContext("2d");
// Reinitialize mouse tracking and zoom for this particular plot
if ((typeof(gnuplot.active_plot) == "undefined" || gnuplot.active_plot != ALue310128bfCsdd_dat_7_0) && typeof(gnuplot.mouse_update) != "undefined")
{
gnuplot.active_plot_name = "ALue310128bfCsdd_dat_7_0";
gnuplot.active_plot = ALue310128bfCsdd_dat_7_0;
canvas.onmousemove = gnuplot.mouse_update;
canvas.onmouseup = gnuplot.zoom_in;
canvas.onmousedown = gnuplot.saveclick;
canvas.onkeypress = gnuplot.do_hotkey;
if (canvas.attachEvent) {canvas.attachEvent('mouseover', ALue310128bfCsdd_dat_7_0);
}
else if (canvas.addEventListener)
{canvas.addEventListener('mouseover', ALue310128bfCsdd_dat_7_0, false);}
gnuplot.zoomed = false;
gnuplot.zoom_axis_width = 0;
gnuplot.zoom_in_progress = false;
gnuplot.polar_mode = false;
ctx.clearRect(0,0,1280,513);
}
gnuplot.zoomed
和gnuplot.zoom_in_progress
变量似乎与重新初始化缩放级别有关。
答案 0 :(得分:1)
如果您指的是鼠标盒的坐标:例如wxt
这些鼠标坐标的格式适用于set mouse format
。这对canvas
终端不起作用,可能是一个错误。
在gnuplot
创建图像后,轴tics仅变为线条,即缩放时不再生成轴tics。尝试例如放大抽搐:这将变得非常大。
与2相同:screen
坐标仅在gnuplot中被识别。写入文件后,只有绝对坐标。如果标签坐标落入缩放区域,则绘制相应的标签,否则不绘制。
这可能是一个错误,也可以在例如http://gnuplot.sourceforge.net/demo_canvas_5.0/finance.html
我认为1.和4.可能是错误,2。和3.是当前提供的交互性的限制,并且可能还有gnuplot的限制,以产生这样的图像。
也许值得你测试gnuplot-JS(http://gnuplot.respawned.com/演示)。我还没有尝试过。