#1279 term windows - fillstyle

closed-fixed
Windows (59)
5
2015-03-23
2013-09-09
No

problem gnuplot 4.6.3 - plots 2003 .. 2005 - should plot until 2007

work around

a) set term wxt

b) no 'fillstyle transparent solid 0.75'

set term windows
set yrange [0:*]
plot '-' with filledcurves lt 1 fillstyle transparent solid 0.75
2003 3000 0
2004 4000 0
2005 4775 0
2006 4775 0
2007 4775 0
e

Related

Bugs: #1279

Discussion

  • Ethan Merritt
    Ethan Merritt
    2013-09-13

    I'm not 100% sure of my diagnosis because I am running the windows executable under wine rather than on a real windows machine, but I think the problem is simply that the windows display device does not support transparency. From looking at the driver code I conclude that some flavors of windows output do, and others don't. The thing is, if a device does not support transparency then it either draws the object as solid (0% transparent) or empty (100% transparent). In your case the component polygons making up the left parts of the curve are being drawn as solid, those on the right are being drawn as empty.
    You could test this explanation by trying one of the transparency demos.

    Again from looking at the driver code, it should print a warning message:
    Warning: Transparency not supported on this device.
    However, I have no idea where that message actually appears unless you are running program from a terminal window rather than the GUI.

     
  • ... thank you for your answer.
    for me it looks a little different:
    when I modify the example keeping the Y-values of 2005 and 2006 equal:

    set term windows
    set yrange [0:*]
    set grid
    plot '-' with filledcurves lt 1 fillstyle transparent solid 0.50
    2003 3000 0
    2004 4000 0
    2005 4775 0
    2006 4775 0
    2007 4777 0
    e

    The result is:

    [image: Inline-Bild 1]

    • term windows supports transparency - you see the grid shining through
    • the windows driver does not fill the area between 2005 and 2006 where the
      Y-values are equal,
      in detail I assue the area is not painted, it two adjacent Y values map
      th the same pixel.

    yours Wilhelm

    2013/9/13 Ethan Merritt sfeam@users.sf.net

    I'm not 100% sure of my diagnosis because I am running the windows
    executable under wine rather than on a real windows machine, but I think
    the problem is simply that the windows display device does not support
    transparency. From looking at the driver code I conclude that some flavors
    of windows output do, and others don't. The thing is, if a device does not
    support transparency then it either draws the object as solid (0%
    transparent) or empty (100% transparent). In your case the component
    polygons making up the left parts of the curve are being drawn as solid,
    those on the right are being drawn as empty.
    You could test this explanation by trying one of the transparency demos.

    Again from looking at the driver code, it should print a warning message:
    Warning: Transparency not supported on this device.
    However, I have no idea where that message actually appears unless you are
    running program from a terminal window rather than the GUI.


    Status: open
    Created: Mon Sep 09, 2013 02:28 PM UTC by Wilhelm Braunschober
    Last Updated: Mon Sep 09, 2013 02:28 PM UTC
    Owner: nobody
    problem gnuplot 4.6.3 - plots 2003 .. 2005 - should plot until 2007 work
    around a) set term wxt b) no 'fillstyle transparent solid 0.75'

    set term windows
    set yrange [0:*]
    plot '-' with filledcurves lt 1 fillstyle transparent solid 0.75
    2003 3000 0
    2004 4000 0
    2005 4775 0
    2006 4775 0
    2007 4775 0
    e


    Sent from sourceforge.net because you indicated interest in
    https://sourceforge.net/p/gnuplot/bugs/1279/

    To unsubscribe from further messages, please visit
    https://sourceforge.net/auth/subscriptions/

     

    Related

    Bugs: #1279

  • The windows terminal does indeed support transparent polygons and boxes. Rectangular filled polygons are drawn using the boxfill routine. This actually contained two bugs which are both triggered by your example.
    First, an internal bitmap was allocated with a wrong size. In your case the bitmap was way to small and copying it to the screen thus failed. Second, the code did not check on the order of the corner points of the polygon, but boxfill required a certain order.
    Fixed in CVS for 4.6 and 4.7.

     
    • labels: --> Windows
    • status: open --> closed-fixed
    • assigned_to: Bastian Märkisch