Plotting Graphs using Gnuplot

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • arslanburney@gmail.com

    Plotting Graphs using Gnuplot

    Hello. Was trying to create a simple plotting function. Wasnt working
    however. If i write the same code without putting it inside a function
    it works. :S. Could some1 tell me the problem? Heres the code:


    # File name Plotting2

    import Gnuplot

    def plot(original, expected, actual):


    if type (original) != type([]):
    return False

    else:

    gp = Gnuplot.Gnuplot ()
    gp('set data style lines')


    # Make the plot items
    plot1 = Gnuplot.PlotIte ms.Data(origina l, title="Original ")
    plot2 = Gnuplot.PlotIte ms.Data(expecte d, title="Expected ")
    plot3 = Gnuplot.PlotIte ms.Data(actual, title="Acutal")


    return gp.plot(plot1, plot2, plot3)


    ----

    import Plotting2 #The name of my file...

    Plotting2.plot( [(2,3), (3,4)], [(4,5), (5,6)], [(1,3), (4,8)] )
  • Fuzzyman

    #2
    Re: Plotting Graphs using Gnuplot

    On Jun 12, 12:30 pm, arslanbur...@gm ail.com wrote:
    Hello. Was trying to create a simple plotting function. Wasnt working
    however. If i write the same code without putting it inside a function
    it works. :S. Could some1 tell me the problem? Heres the code:
    >
    # File name Plotting2
    >
    import Gnuplot
    >
    def plot(original, expected, actual):
    >
    if type (original) != type([]):
    return False
    >
    else:
    >
    gp = Gnuplot.Gnuplot ()
    gp('set data style lines')
    >
    # Make the plot items
    plot1 = Gnuplot.PlotIte ms.Data(origina l, title="Original ")
    plot2 = Gnuplot.PlotIte ms.Data(expecte d, title="Expected ")
    plot3 = Gnuplot.PlotIte ms.Data(actual, title="Acutal")
    >
    return gp.plot(plot1, plot2, plot3)
    >
    ----
    >
    import Plotting2 #The name of my file...
    >
    Plotting2.plot( [(2,3), (3,4)], [(4,5), (5,6)], [(1,3), (4,8)] )
    I've no idea about the answer to your question (I don't know how the
    Gnuplot module works and I can't *see* anything obviously wrong with
    your code), but this line:

    if type (original) != type([])

    is better written:

    if not isinstance(orig inal, list):

    Michael Foord
    Pedestrian accidents can happen in the blink of an eye, changing lives forever. When you're out for a stroll or crossing the street, an unexpected collision

    Comment

    • Peter Otten

      #3
      Re: Plotting Graphs using Gnuplot

      arslanburney@gm ail.com wrote:
      Hello. Was trying to create a simple plotting function. Wasnt working
      however. If i write the same code without putting it inside a function
      it works. :S. Could some1 tell me the problem?
      Judging from the demo you have to keep a Gnuplot.Gnuplot instance alive. If
      you don't, the display window is immediately garbage-collected.
      Heres the code:
      >
      >
      # File name Plotting2
      >
      import Gnuplot
      >
      def plot(original, expected, actual):
      >
      >
      if type (original) != type([]):
      return False
      >
      else:
      >
      gp = Gnuplot.Gnuplot ()
      gp('set data style lines')
      >
      >
      # Make the plot items
      plot1 = Gnuplot.PlotIte ms.Data(origina l, title="Original ")
      plot2 = Gnuplot.PlotIte ms.Data(expecte d, title="Expected ")
      plot3 = Gnuplot.PlotIte ms.Data(actual, title="Acutal")
      >
      >
      gp.plot(plot1, plot2, plot3)
      return gp
      >
      >
      ----
      >
      import Plotting2 #The name of my file...
      >
      gp = Plotting2.plot( [(2,3), (3,4)], [(4,5), (5,6)], [(1,3), (4,8)] )
      raw_input()

      By the way, I recommend that you raise an Exception instead of returning a
      special value when plot() cannot deal with the arguments passed to it.

      Peter

      Comment

      • Helmut Jarausch

        #4
        Re: Plotting Graphs using Gnuplot

        arslanburney@gm ail.com wrote:
        Hello. Was trying to create a simple plotting function. Wasnt working
        however. If i write the same code without putting it inside a function
        it works. :S. Could some1 tell me the problem? Heres the code:
        >
        >
        # File name Plotting2
        >
        import Gnuplot
        >
        def plot(original, expected, actual):
        >
        >
        if type (original) != type([]):
        return False
        >
        else:
        >
        gp = Gnuplot.Gnuplot ()
        Replace this by (from

        )
        gp = Gnuplot.Gnuplot (persist=1)
        gp('set data style lines')
        >
        >
        # Make the plot items
        plot1 = Gnuplot.PlotIte ms.Data(origina l, title="Original ")
        plot2 = Gnuplot.PlotIte ms.Data(expecte d, title="Expected ")
        plot3 = Gnuplot.PlotIte ms.Data(actual, title="Acutal")
        >
        >
        return gp.plot(plot1, plot2, plot3)
        >
        >
        ----
        >
        import Plotting2 #The name of my file...
        >
        Plotting2.plot( [(2,3), (3,4)], [(4,5), (5,6)], [(1,3), (4,8)] )

        --
        Helmut Jarausch

        Lehrstuhl fuer Numerische Mathematik
        RWTH - Aachen University
        D 52056 Aachen, Germany

        Comment

        Working...