我可以在没有onmousemove的情况下创建svg吗?
我使用gnuplot(来自Maxima cas)创建svg文件: 以及:我可以在没有onmousemove的情况下创建svg吗?,svg,mouseevent,gnuplot,wikipedia,maxima,Svg,Mouseevent,Gnuplot,Wikipedia,Maxima,我使用gnuplot(来自Maxima cas)创建svg文件: 以及: G N U P L O T Version 5.0 patchlevel 7 last modified 2017-08-16 示例文件和Maxima CAS代码 此类svg文件包含多行,其中包含: <g onmousemove="gnuplot_svg.showHypertext(evt,'')" onmouseout="gnuplot_svg.hideHypertext()"><title&
G N U P L O T
Version 5.0 patchlevel 7 last modified 2017-08-16
示例文件和Maxima CAS代码
此类svg文件包含多行,其中包含:
<g onmousemove="gnuplot_svg.showHypertext(evt,'')"
onmouseout="gnuplot_svg.hideHypertext()"><title> </title>
<use xlink:href='#gpPt6' transform='translate(686.6,831.4)
scale(0.45)' color='rgb(190, 190, 190)'/></g
<use xlink:href='#gpPt6' transform='translate(686.6,831.3)
scale(0.45)' color='rgb(190, 190, 190)'/
<use xlink:href='#gpPt6' transform='translate(686.6,831.3)
scale(0.45)' color='rgb(190, 190, 190)'/ <use xlink:href='#gpPt6'
transform='translate(686.6,831.3) scale(0.45)' color='rgb(190, 190,
190)'/
鼠标事件处理是由Gnuplot 5.0.0到5.3中的一个bug引起的,该bug已由commit 083bae1到Gnuplot Gnuplot main修复。您可以通过以下方式获取当前版本:
git clone git://git.code.sf.net/p/gnuplot/gnuplot-main gnuplot-gnuplot-main
./prepare
./configure
make && make install
在Ubuntu 14.04上对我有用
我问过一个工作环境;如果我发现了什么,我会更新这个答案。见:
编辑:一种解决方法是在Gnuplot命令中发出notitle
而不是t'
。我已经修改了包draw
中的相关代码。请参阅将d535d11和d2488b2提交至maxima
您可以获取当前版本()或仅复制一个修改过的函数:
(defun make-obj-title (str)
(if (= (length str) 0)
"notitle"
(if (> (length str) 80)
(concatenate 'string "t '" (subseq str 0 75) " ...'")
(concatenate 'string "t '" str "'"))))
XSLT转换文件以删除您可能不想要的位。鼠标事件内容似乎是由key=”“
触发的,它由Maxima转换为Gnuplot命令中的plot index nnn t'
,其中t
表示数据系列nnn的标题。当存在t'foo'
时,则不会生成鼠标事件内容。我查看了Gnuplot源代码,但没有找到解决方法。我已经向gnuplot信息邮件列表提交了一条消息;我会通知你的。顺便提一下,5.0.0之前的版本不包含鼠标事件内容,而Gnuplot 5.0.0及更高版本确实包含鼠标事件内容。根据git tag-l,5.0.0之前的最后一个版本是4.6.6。我已经用解决方法的信息更新了我的答案,并在Maxima中更新了代码。希望这有帮助,看起来你有一个很大的问题要解决。我有ubuntu 17.10。我不得不为我安装lua5.2:“make”然后“sudomakeinstall”我已经用Ghex检查了svg文件。它不包含“鼠标”字符串=OKI已上传新图像和新代码:@Adam很棒,我很高兴听到它现在适合你。祝你玩得开心,继续做好工作。谢谢你的帮助。
(defun make-obj-title (str)
(if (= (length str) 0)
"notitle"
(if (> (length str) 80)
(concatenate 'string "t '" (subseq str 0 75) " ...'")
(concatenate 'string "t '" str "'"))))