support for advanced gnuplot features (was: Plotting semi-trasnparent patches?)

Ben Abbott bpabbott at mac.com
Mon Jan 26 09:47:31 CST 2009


On Monday, January 26, 2009, at 10:12AM, "Kai Habel" <kai.habel at gmx.de> wrote:
>Søren Hauberg schrieb:
>> Hi All
>>
>> Is there a way to make a patch (as produced by the 'patch' command)
>> semi-transparent? I tried setting the 'facealpha' property to 0.5 but
>> that didn't do what I expected.
>>
>> BTW. I'm running a checkout of the development sources from some time
>> yesterday.
>>
>> Søren
>>
>> _______________________________________________
>> Help-octave mailing list
>> Help-octave at octave.org
>> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
>>   
>Using a development version of gnuplot (4.3.cvs) this can be implemented
>fairly easy. See attached patch. I am hesitating in providing a full
>changeset, since we would depend on a development version of gnuplot. I
>see no easy way to check for this gnuplot feature otherwise we could
>support this conditionally. I think we have to wait for gnuplot release
>which supports this feature. 
>
>Kai
>
>diff -r 0eb83938c8bc scripts/plot/__go_draw_axes__.m                          
>--- a/scripts/plot/__go_draw_axes__.m   Sun Jan 18 22:01:36 2009 +0100        
>+++ b/scripts/plot/__go_draw_axes__.m   Mon Jan 26 16:02:02 2009 +0100        
>@@ -568,8 +568,8 @@                                                           
>               if (mono)                                                      
>                 colorspec = "";                                              
>               else                                                           
>-                colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",             
>-                                     round (255*color));                     
>+                colorspec = sprintf ("lc rgb \"#%02x%02x%02x\" fillstyle transparent solid %f",
>+                                     round (255*color), obj.facealpha);                        
>               endif                                                                            
>               withclause{data_idx} = sprintf ("with filledcurve %s",    
>

Kai,

I think it makes sense to start a discussion about what version of gnuplot will be required by the upcoming 3.2 release and whether or not conditional support for more recent gnuplot builds should be included.

For example, I have a local copy of gnuplot_drawnow that respects set(gcf,"position") for the x11 terminal (both window position and size are respected). My patch requires a very recent build of the gnuplot developers sources (it should also work with 4.2.4+).

Regarding conditional support, this is easily done by using __gnuplot_version__() and compare_versions().

Ben

p.s. for this context, I've switched to octave-maintainers at octave.org







More information about the Octave-maintainers mailing list