Re: [Matplotlib-users] Plotting from a data file

2015-08-14 Thread Thomas Caswell
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 
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  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  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

2015-08-14 Thread Anthony Rollett
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  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  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

2015-08-14 Thread Kevin Parks
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  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


Re: [Matplotlib-users] Plotting from a data file

2015-08-14 Thread Christian Alis
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  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  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

2015-08-14 Thread Benjamin Root
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  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  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

2015-08-14 Thread Kevin Parks
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  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] Plotting from a data file

2015-08-14 Thread Kevin Parks
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 
)

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