Menu

#266 Canvas Frame not working

1.18
closed
Cavas Frame (1)
4normal
2017-07-12
2015-11-26
bbbear2002
No

Dear Professor Russell Standish,

The 1D9 release is great. The figure export is fantastic.
May i report a bug, please?

Conventionally, when i export a figure, this is my settings:

In SciDAVis, it shows

But when exported, it shows

Discussion

<< < 1 2 (Page 2 of 2)
  • bbbear2002

    bbbear2002 - 2016-08-05

    Thank you, this canvas frame issue exists in 1D9 and later versions, whereas 1D8 and earlier versions do not have this problem.

     

    Last edit: bbbear2002 2016-09-12
  • bbbear2002

    bbbear2002 - 2016-09-12

    Any good news, please?

     
  • High Performance Coder

    • Group: 1.D9 --> next
     
  • bbbear2002

    bbbear2002 - 2017-06-13

    how can I apply this patch on Mac?

     
    • gbm

      gbm - 2017-06-15

      You will have to compile yourself from source the macports port of 'qwt' (version 5.2.3). To fix the bug you have to modify 'qwt/src/qwt_plot_print.cpp' applying the patch I posted 2 days ago. Then, you have to compile and link scidavis with the new 'qwt'.

      Alternatively, there is a workaround for the bug: Add a new table with data points that when plotted will produce the missing canvas frame. See attached files.

       
  • bbbear2002

    bbbear2002 - 2017-06-16

    Not work... I converted to QtiPlot now.

     
  • High Performance Coder

    I've just managed to find the bug that prevent drawing of the frame in exported graphics. When exporting with canvas frame enabled, you get something like this.

     
  • High Performance Coder

    Of course, this differs from the onscreen representation. I believe the onscreen representation does it incorrectly, but that is handled by a different pience of code. Will look into that shortly.

     
  • High Performance Coder

    • status: open --> fixed
     
  • High Performance Coder

    • Group: next --> 1.18
     
  • David Goldenberg

    Russel,
    Thanks very much for incorporating the patches for this and the curve fit error bug into the new Mac biary for 1.18.

    I think that I may be able to help explain the issue bbear2002 has been describling, and offer a work around In all of the versions I have looked at (sarting at 1D8, but not of all them since), when the "Draw backbone" option is turned on, there is a small gap between the ends of the vertical axes and the bottom axis. In 1D8, turning on the Canvas frame option drew a box that closely aligned with the axes backbones, and using this option, without the backbones on, provided the best result when exported to a file.

    In subsequent versions, the behavior of the Canvas frame option changed, so that the box encloses all of the graph elements, including axes labels. This is what I would expect a canvas frame to be, but this option no longer solves the problem of a gap between the axes backbones.

    It would be nice if the gap between the axes could be fixed, but here is a work arround:

    1. Turn off the axes backbones. This is important to eliminate the small gap. It doesn't really matter if the canvas frame is displayed or not.
    2. Export the graph as an svg file.
    3. Open the file in a program that can edit the svg file as a vector graphics. I use Adobe Illustrator, but Inkscape should work.
    4. The svg image should include a box that includes matches the axes backbones, but is initially unstroked (and filled white), that it has no visible borders. I think that this corresponds to the box that was drawn and stroked in SciDAVis 1D8. Using the drawing program the borders of the box can be stroked, with the color and line width selected by the user. One can also delete one or more of the sides of the boxes, if you wan to show, for instance only the bottom and left axes.

    David

     
  • High Performance Coder

    It's no so much as a gap, but rather that the lines do not abut. This is true in both the screen version and the exported version. Ideally, one would be able to move the axis backbones by 1 pixel towards the interior, but qwt_plot doesn't povide any option for doing so.

    It seems to me that the only way around this is to draw a 1x1 pixel in each of the four corners.

     
  • High Performance Coder

    • status: fixed --> closed
     
<< < 1 2 (Page 2 of 2)

Log in to post a comment.