Re: [Matplotlib-users] Plotting from a data file
According to http://matplotlib.org/1.4.3/api/cbook_api.html#matplotlib.cbook.get_sample_data, msft.csv should be located at the mpl-data/sample_data directory. In that case, save the following as sample.csv on the current directory: event_start_time, event_duration, frequency_value, voice 0.0, 2.5, 60, 1 2.0, 1.5, 62, 4 4.0, 5.0, 64, 2 6.0, 3.5, 65, 3 8.0, 1.5, 67, 1 10.0, 2.0, 69, 4 12.0, 5.5, 71, 3 14.0, 3.0, 70, 2 16.0, 2.0, 72, 1 18.0, 1.0, 74, 4 20.0, 0.5, 75, 3 22.0, 1.5, 77, 2 24.0, 0.5, 79, 1 Then run the following code: from pylab import plotfile, show, gca #test 5; single subplot plotfile('sample.csv', ('event_start_time', 'event_duration', 'frequency_value', 'voice'), subplots=False) show() Regards, Christian On Fri, Aug 14, 2015 at 6:05 PM, Kevin Parks k...@me.com wrote: Hi, That doesn’t work. Just having my own msft.csv file in my directory doesn't change anything as it is still pointing to some other msft.csv someplace on my computron. (what and where is this file?) I also have never opened a file this way. I had prevously just used something like: for l in open(filename).readlines(): l = l.strip().split() data.append([float(l[0]), float(l[1]), float(l[2]), int(l[3])]) values = [1,2,3,4] - I think ithis is just some example file that gets installed some place so that the examples work? What does asfileobj=False do? Goodness the whole world of Python has radically changed in the short time I have been out of the game. On Aug 15, 2015, at 1:50 AM, Christian Alis iana...@gmail.com wrote: The sample code reads data from msft.csv. If you enter your data into a text editor and save it as msft.csv in python's current working directory, then the following minimal code (pruned from plotfile_demo) should work: from pylab import plotfile, show, gca import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) #test 5; single subplot plotfile(fname, ('date', 'open', 'high', 'low', 'close'), subplots=False) show() -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting from a data file
If you are trying to read a CSV file, I strongly suspect using pandas for ingesting them. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html Also, please use the new mailing list at matplotlib-us...@python.org. Tom On Fri, Aug 14, 2015 at 1:39 PM Anthony Rollett roll...@andrew.cmu.edu wrote: Maybe using “genfromtxt is simpler as a way to get going, see below for a fragment of script? It should be able to read a CSV file since it’s just a comma delimited text file. You might need to look up how to set the delimiter character. regards Tony Rollet #!/usr/bin/env python simple line/scatter plot. import matplotlib import numpy as np import matplotlib.cm as cm import matplotlib.mlab as mlab import matplotlib.pyplot as plt from numpy import * import scipy.interpolate isosphere = genfromtxt(KAM_test_5Oct14strs_strn.txt, names=True ) On Aug 14, 2015, at 12:05 PM, Kevin Parks k...@me.com wrote: Hi, That doesn’t work. Just having my own msft.csv file in my directory doesn't change anything as it is still pointing to some other msft.csv someplace on my computron. (what and where is this file?) I also have never opened a file this way. I had prevously just used something like: for l in open(filename).readlines(): l = l.strip().split() data.append([float(l[0]), float(l[1]), float(l[2]), int(l[3])]) values = [1,2,3,4] - I think ithis is just some example file that gets installed some place so that the examples work? What does asfileobj=False do? Goodness the whole world of Python has radically changed in the short time I have been out of the game. On Aug 15, 2015, at 1:50 AM, Christian Alis iana...@gmail.com wrote: The sample code reads data from msft.csv. If you enter your data into a text editor and save it as msft.csv in python's current working directory, then the following minimal code (pruned from plotfile_demo) should work: from pylab import plotfile, show, gca import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) #test 5; single subplot plotfile(fname, ('date', 'open', 'high', 'low', 'close'), subplots=False) show() -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting from a data file
Maybe using “genfromtxt is simpler as a way to get going, see below for a fragment of script? It should be able to read a CSV file since it’s just a comma delimited text file. You might need to look up how to set the delimiter character. regards Tony Rollet #!/usr/bin/env python simple line/scatter plot. import matplotlib import numpy as np import matplotlib.cm as cm import matplotlib.mlab as mlab import matplotlib.pyplot as plt from numpy import * import scipy.interpolate isosphere = genfromtxt(KAM_test_5Oct14strs_strn.txt, names=True ) On Aug 14, 2015, at 12:05 PM, Kevin Parks k...@me.com wrote: Hi, That doesn’t work. Just having my own msft.csv file in my directory doesn't change anything as it is still pointing to some other msft.csv someplace on my computron. (what and where is this file?) I also have never opened a file this way. I had prevously just used something like: for l in open(filename).readlines(): l = l.strip().split() data.append([float(l[0]), float(l[1]), float(l[2]), int(l[3])]) values = [1,2,3,4] - I think ithis is just some example file that gets installed some place so that the examples work? What does asfileobj=False do? Goodness the whole world of Python has radically changed in the short time I have been out of the game. On Aug 15, 2015, at 1:50 AM, Christian Alis iana...@gmail.com wrote: The sample code reads data from msft.csv. If you enter your data into a text editor and save it as msft.csv in python's current working directory, then the following minimal code (pruned from plotfile_demo) should work: from pylab import plotfile, show, gca import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) #test 5; single subplot plotfile(fname, ('date', 'open', 'high', 'low', 'close'), subplots=False) show() -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting from a data file
That does help. But then that means I need to reformat my data somehow? I want it so that each “voice” is plotted separately as a unique color and my legend would be Voice 1 - Voice 2 - Voice 3 - Voice 4 - Just as if I had the temperature for four different days plotted. confused On Aug 15, 2015, at 2:14 AM, Benjamin Root ben.r...@ou.edu wrote: All cbook.get_sample_data(..., asfileobj=False) does is returns the full filename path to a given file stored in our package for demonstration purposes. You can ignore that entirely. Just say fname = 'foobar.csv' and have your own csv file called foobar.csv sitting in your current working directory. plotfile() works by reading in a CSV file and plotting the columns given. So, the CSV file will need in its first line those column headers. The first one given will be for the x-axis, while the rest are for the individual lines. Does that help? Ben Root -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
[Matplotlib-users] Plotting from a data file
I am a very lost gnuplot.py refugee. I hung in there as long as I could but sadly, gnuplotpy does not run on my machine so I managed, somehow to install new pythons, matplotlib, numpy, etc. and am up and running. Actually now trying out Canopy, which was even easier than running from the shell on OS X. I am trying to plot some data by looking through the examples, finding something close to what I need and modifying it to work for the data I want to plot but I am lost and overwhelmed. Any pointers at all would be greatly appreciated. What I want to do surely is easy but I am really new at this and have been away from python a long time. I am reading the docs as fast as I can. The task at hand: I have 4 lines that I want to plot on top of each other (different colors) and the data, rather than being generated with an algorithm in python would be read in from a file. A plot that looks close is #5 from plotfile_demo.py (seen here: http://matplotlib.org/mpl_examples/pylab_examples/plotfile_demo_04.png http://matplotlib.org/mpl_examples/pylab_examples/plotfile_demo_04.png) but that is confusing as it seems to open some file that I can’t seem to find in my install called 'msft.csv' and I am not sure the way it is doing the plot is all that customizable as the code for it is tiny and the routine it calls seems to do a lot of formatting automatically. The easiest way to explain what need to do is to give a simplified task that is analogous, such as plot 4 individual simultaneous lines to show how they overlap and intersect and also their global motion, much like showing, say, the movement and relationship of distinct musical lines in an 4 voice choir(SATB) piece (that isn’t what I am doing but it is darned close). In short I want to have a data file that has: event_start_time, event_duration, frequency_value(for now midi will do), voice (perhaps specified with a number like: 1=soprano, 2=alto, 3=tenor, 4=bass each voice in a different color) So the data would like so (quick totally random at the moment): 0.0, 2.5, 60, 1 2.0, 1.5, 62, 4 4.0, 5.0, 64, 2 6.0, 3.5, 65, 3 8.0, 1.5, 67, 1 10.0, 2.0, 69, 4 12.0, 5.5, 71, 3 14.0, 3.0, 70, 2 16.0, 2.0, 72, 1 18.0, 1.0, 74, 4 20.0, 0.5, 75, 3 22.0, 1.5, 77, 2 24.0, 0.5, 79, 1 The legend just like in the above example and the x axis would be time and y axis frequency. Then I would have to figure out tic values and all that. I have been away from the whole world of python for a long while but I used to do this with great easy and flexibility in gnuplot.py even if the graphs did not look as lovely as these matlabplotlib ones do but this package is really new to me and I am somewhat overwhelmed by the enormity of matlabplotlib. Very sorry for such a newbie query but I feel like if i could get this going I would at least know which aspects of the package I need to read up on. -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting from a data file
Hi, That doesn’t work. Just having my own msft.csv file in my directory doesn't change anything as it is still pointing to some other msft.csv someplace on my computron. (what and where is this file?) I also have never opened a file this way. I had prevously just used something like: for l in open(filename).readlines(): l = l.strip().split() data.append([float(l[0]), float(l[1]), float(l[2]), int(l[3])]) values = [1,2,3,4] - I think ithis is just some example file that gets installed some place so that the examples work? What does asfileobj=False do? Goodness the whole world of Python has radically changed in the short time I have been out of the game. On Aug 15, 2015, at 1:50 AM, Christian Alis iana...@gmail.com wrote: The sample code reads data from msft.csv. If you enter your data into a text editor and save it as msft.csv in python's current working directory, then the following minimal code (pruned from plotfile_demo) should work: from pylab import plotfile, show, gca import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) #test 5; single subplot plotfile(fname, ('date', 'open', 'high', 'low', 'close'), subplots=False) show() -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users
Re: [Matplotlib-users] Plotting from a data file
All cbook.get_sample_data(..., asfileobj=False) does is returns the full filename path to a given file stored in our package for demonstration purposes. You can ignore that entirely. Just say fname = 'foobar.csv' and have your own csv file called foobar.csv sitting in your current working directory. plotfile() works by reading in a CSV file and plotting the columns given. So, the CSV file will need in its first line those column headers. The first one given will be for the x-axis, while the rest are for the individual lines. Does that help? Ben Root On Fri, Aug 14, 2015 at 1:05 PM, Kevin Parks k...@me.com wrote: Hi, That doesn’t work. Just having my own msft.csv file in my directory doesn't change anything as it is still pointing to some other msft.csv someplace on my computron. (what and where is this file?) I also have never opened a file this way. I had prevously just used something like: for l in open(filename).readlines(): l = l.strip().split() data.append([float(l[0]), float(l[1]), float(l[2]), int(l[3])]) values = [1,2,3,4] - I think ithis is just some example file that gets installed some place so that the examples work? What does asfileobj=False do? Goodness the whole world of Python has radically changed in the short time I have been out of the game. On Aug 15, 2015, at 1:50 AM, Christian Alis iana...@gmail.com wrote: The sample code reads data from msft.csv. If you enter your data into a text editor and save it as msft.csv in python's current working directory, then the following minimal code (pruned from plotfile_demo) should work: from pylab import plotfile, show, gca import matplotlib.cbook as cbook fname = cbook.get_sample_data('msft.csv', asfileobj=False) #test 5; single subplot plotfile(fname, ('date', 'open', 'high', 'low', 'close'), subplots=False) show() -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users -- ___ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users