Sorry if this was not made obvious, but you don&#39;t want to for() loop over the drawing commands. They&#39;re vectorized, so just pass the vectors.<br><br>Also, in the future, please paste your output. Our systems could behave differently.<br>
<br>I will document the qtpaint package after the talk today. qtbase is already documented, btw.<br><br>Thanks,<br>Michael<br><br><div class="gmail_quote">On Wed, Aug 4, 2010 at 12:14 AM, Yihui Xie <span dir="ltr">&lt;<a href="mailto:xie@yihui.name">xie@yihui.name</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi all,<br>
<br>
According to the suggestion in section 2.4 of the qtpaint vignette,<br>
drawing segments will be generally faster than lines (if I understand<br>
correctly). However, the experiment below shows segments might not be<br>
faster (or even slower).<br>
<br>
## speed for segments and lines?<br>
<br>
library(qtpaint)<br>
<br>
n=1e5; p=10<br>
test=matrix(runif(n*p),ncol=p)<br>
col=rainbow(n)<br>
qtest1 = function(item, painter, exposed) {<br>
print(system.time({<br>
        for (i in 1:n) {<br>
            qdrawLine(painter, 1:p, test[i, ], stroke = col[i])<br>
        }<br>
}))<br>
}<br>
qtest2 = function(item, painter, exposed) {<br>
print(system.time({<br>
        for (i in 1:n) {<br>
            qdrawSegment(painter, 1:(p-1), test[i, 1:(p-1)], 2:p, test[i,<br>
2:p], stroke = col[i])<br>
        }<br>
}))<br>
}<br>
<br>
if (exists(&#39;scene&#39;)) rm(scene)<br>
scene=qscene()<br>
qlayer(scene, qtest1, limits = qrect(c(1,p),c(0,1)))<br>
qplotView(scene = scene)<br>
<br>
if (exists(&#39;scene&#39;)) rm(scene)<br>
scene=qscene()<br>
qlayer(scene, qtest2, limits = qrect(c(1,p),c(0,1)))<br>
qplotView(scene = scene)<br>
<br>
###################################################3<br>
<br>
<br>
I guess the reason is there are not too many places to join among the<br>
lines, which is the case in the parallel coordinates plot I&#39;ve been<br>
working on. The speed for interaction will be slow when the size of<br>
data exceeds 1000x10, so I wonder if there are approaches to draw a<br>
lot of lines/segments faster. (Using glyphs?)<br>
<br>
The source code for the par-coord plot is here:<br>
<a href="http://github.com/bigbear/cranvas/tree/master/Yihui/" target="_blank">http://github.com/bigbear/cranvas/tree/master/Yihui/</a> (qpcpEx.R<br>
contains several examples)<br>
<br>
Thanks!<br>
<br>
Regards,<br>
Yihui<br>
--<br>
<font color="#888888">Yihui Xie &lt;<a href="mailto:xieyihui@gmail.com">xieyihui@gmail.com</a>&gt;<br>
Phone: 515-294-6609 Web: <a href="http://yihui.name" target="_blank">http://yihui.name</a><br>
Department of Statistics, Iowa State University<br>
3211 Snedecor Hall, Ames, IA<br>
_______________________________________________<br>
Qtinterfaces-devel mailing list<br>
<a href="mailto:Qtinterfaces-devel@lists.r-forge.r-project.org">Qtinterfaces-devel@lists.r-forge.r-project.org</a><br>
<a href="https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/qtinterfaces-devel" target="_blank">https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/qtinterfaces-devel</a><br>
</font></blockquote></div><br>