Menu

#1386 4.6.5: The vertical borders of 3d plot can only hide/show together

None
closed
nobody
None
2018-08-11
2014-04-22
leoking
No

The vertical borders of 3d plot can only hide/show together:

The following code illustrates the problem:

set border 0
splot x*y
pause 2

set border 1
splot x*y

Here are the figure:

First:
set border 0

Second:
set border 1

In the second figure the 4 vertical border should not show at all.

I wanted to hide the greed vertical border while keep other 3 vertical borders:

set border 1

But failed.

Discussion

  • leoking

    leoking - 2014-04-22
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,6 +1,6 @@
     The vertical borders of 3d plot can only hide/show together:
    
    -The following code illustrate the problem:
    +The following code illustrates the problem:
    
         set border 0
         splot x*y
    
     
  • Hans-Bernhard Broeker

    I wanted to hide the greed vertical border while keep other 3 vertical borders:

    But that's not what you actually told gnuplot you wanted to do. You didn't tell it you wanted the other 3 verticals.

    But that's not the actual issue at hand. If you compare plots made with the vertical borders active (set border 255) and inactive (set border 15), you'll note that they're different. splot will always draw a vertical from the base plane corner up to the plotted surface, if the surface has a point exactly above that corner. These verticals, which do not go all the way to the top of the graph box, are not controlled by individual bits in "set border" --- they're controlled by the plotted data touching the corner, and by the border being drawn at all (set border unequal zero).

    To get rid of these shorter verticals, you'll thus have to keep the surface from touching the corners of the base plane, e.g. in parametric mode:

    set param
    set xrange [-10:10]
    set urange [-9:9]
    set border 127
    splot u,v,u*v
    
     
    • Andreas Schwarz

      Andreas Schwarz - 2015-12-11

      But why is there no way to get rid of these vertical lines? For my taste this makes the gnuplot 3D plots totally unappealing. Mostly I make plots out of simulation data from Matlab/Simulink, where I have data in a wide intervall and want to plot a small part of it. This time I was able to use the above hack by adding 0.01 to the ranges because I had to plot the full dataset.

       
      • Hans-Bernhard Broeker

        The same method can be applied to any externally created dataset, too. Just extend the x and y range slightly so they don't coincide with the data positions.

         
        • Andreas Schwarz

          Andreas Schwarz - 2015-12-12

          Thanks for the reply! I got it now.

          I was just used (from 2D plots) to set the ranges according to which data-subset I wanted to plot. I expected the same behaviour for the surface plots. I just tried it and saw that the edges of the surface were getting really ugly when the plotting range is smaller than the range of the dataset.

          So the way is to select the data subset with 'every' option in splot and than extend the range slightly as you suggested. (I think this is a trivial insight for you, just explaining it for the ones in my situation)

           
  • Ethan Merritt

    Ethan Merritt - 2018-08-11
    • status: open --> closed
    • Group: -->
    • Priority: 8 -->
     

Log in to post a comment.