On Nov 22, 2010, at 16:01 , Mojca Miklavec wrote:

> [...]
> 
>> 2) Negative axis labels are set with hyphen instead of proper minus sign, 
>> which should be longer (see example above).
> 
> I'm not sure if this should really be fixed automatically or not. In
> order to fix this one would have to patch gnuplot core.
> 
> I forgot the details how to do it (I can find it out), but you can
> configure the layout of labels. In particular you may enclose the
> number into math delimiters ($). Maybe something like
>    set format y "$%.1f$"
> would work (you might want to change the size of left margin then).

Hej Mojca, thank you for your answer! Well, that was surprisingly easy - I 
should have checked the manual first (I was just about to write an ugly hack 
into your context terminal driver :). Actually
 set format "$%g$"
gives the default label format (only enclosed in $) for all axes.

> Doing any other kind of magic would be a bit dangerous. Keep in mind
> that
>    plot 'x.dat' u 1:(2*$2)
> will also fail since TeX will interpret $ as math delimiter. But
> changing that behaviour would have other undesirable effects.
> 
>> 3) First I thought luatex hangs but then I noticed TikZ is awfully slow when 
>> drawing plots with large amounts of data points (the tikzpicture had about 
>> 3000 lines). I can speed this up by reducing the size by invoking plot with:
>> 
>>  plot "< gawk '(NR-1)%10 == 0 {print $0}' fileWithLotsOfData" using [...]
>> 
>> I wonder if there is a smarter way to do this in gnuplot.
> 
> [...]
> What I did for my "theory of chaos" reports and the million-of-points
> plots in my thesis was to create an empty plot with ConTeXt terminal,
> create a borderless plot with PNG and then manually insert PNG into
> the generated ConTeXt output, which you could do with TikZ output as
> well. It requires more effort, but there is no other way to speed up
> vector graphics. They are simply not suitable for drawing millions of
> points on the same plot.

I'd probably do the same in that case. But unlike you I have a lot less points 
- 5000 points instead of millions. Loot at this example, which is the slightly 
modified random demo script taken from the gnuplot page:

 set terminal context size 15.0cm,10.5cm standalone
 set output 'randomCtx.tex'

 set dummy t,y
 unset key
 set parametric
 set samples 5000, 5000
 set style function dots
 set title "Lattice test for random numbers" 
 set xlabel "rand(n) ->" 
 set xrange [ 0.00000 : 1.00000 ] noreverse nowriteback
 set ylabel "rand(n + 1) ->" 
 set yrange [ 0.00000 : 1.00000 ] noreverse nowriteback
 set zlabel "rand(n + 2) ->" 
 set zrange [ 0.00000 : 1.00000 ] noreverse nowriteback
 plot rand(0), rand(0)

 set terminal lua tikz context size 15.0cm,10.5cm fulldoc
 set output 'randomLua.tex'

 replot

Now look at the timing of processing the output files with context (final run 
only):

context randomCtx.tex -> 3.150 seconds.
context randomLua.tex -> 23.658 seconds.

Further increasing the number of points to 15000 results in 8.978 vs. 62.878 
seconds. Quite a big difference in processing time!

> (Gnuplot also has a keyword 'every' to reduce the number of points,
> but in my case I wanted to plot all of them.)

True, but suppose you don't have evenly spaced data points. Then you don't want 
every other line but one point every 5 kilometres or something the like.

Especially for line drawings it would be beneficial not to place every single 
point. Instead consecutive points should be skipped if they are close to each 
other (with regard to plot units) - it makes no sense to include points which 
you won't see anyway. This could be done by defining a grid with a certain 
(user defined) resolution and rounding the coordinates (plot units) of a line 
point to the nearest grid node. All consecutive line points falling on the same 
grid node should not be passed on to terminal drivers. The psxy utility of GMT 
(http://gmt.soest.hawaii.edu/) does this for instance. I am not aware of such a 
functionality within gnuplot but it would be a nice feature.

Best wishes,
Florian

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to