Dear All,
I am quite a newbie about Python and Pylab, but I am starting to like
the ease you can develop with using these tools.
I am interested in 2D radial plots (think for instance about the plot
of the temperature along the cross-section of a pipe).
I had a look at the tutorial online, in particular to the case described in:
but there is something which is not 100% clear to me.
What if, instead of having an analytical expression for the quantity I
want to plot I have to read it (together with the r and theta
coordinates) from a file, e.g.:
r theta T
where the columns r and theta contain the list of (r,theta)
coordinates (the "grid" I am using along the cross section) and T the
temperature evaluated at that grid point?
If necessary, I can post an example file (but at the moment I am
working with fairly big files and I think I conveyed an idea of what I
am after).
Many thanks
That's quite simple. Assume your file containing the data is name Data.dat and is in the same directory than your python script.
from pylab import *
from numpy import *
tab = load('Data.dat') #load the file
r = tab[:,0] #get the r coordinates
theta = tab[:,1] #get the theta coordinates
T = tab[:,2] #get the temperature
# now, you can process/plot your data
Hope this help.
Best regards.
Benoit
···
Le 25-juin-07 à 19:03, Lorenzo Isella a écrit :
Dear All,
I am quite a newbie about Python and Pylab, but I am starting to like
the ease you can develop with using these tools.
I am interested in 2D radial plots (think for instance about the plot
of the temperature along the cross-section of a pipe).
I had a look at the tutorial online, in particular to the case described in:
but there is something which is not 100% clear to me.
What if, instead of having an analytical expression for the quantity I
want to plot I have to read it (together with the r and theta
coordinates) from a file, e.g.:
r theta T
where the columns r and theta contain the list of (r,theta)
coordinates (the "grid" I am using along the cross section) and T the
temperature evaluated at that grid point?
If necessary, I can post an example file (but at the moment I am
working with fairly big files and I think I conveyed an idea of what I
am after).
Many thanks
Hello,
Thanks for your suggestion, but I still have a problem.
Maybe I did not make myself clear (or most likely I have a problem
about how to implement your suggestion): actually I have T=T(r,theta)
and I would like to make a 2D plot using colors such that one can see
that the domain where I am plotting is actually a circle.
The example I mentioned is not exactly what I need since there one can
find how to plot in polar coordinates a function of r alone.
Furthermore, I do not have necessarily an equally spaced grid.
For instance, let me consider the case of 5 theta's and 7 radial
position and consequentely 35 values of T:
How would you plot them in order to have a 2D-color plot where one can
understand we are working on a circle (well, maybe it will look like
something different since I have only a few grid points, but the aim
is clear, I hope)?
Kind Regards
On 26/06/07, Benoit Donnet <benoit.donnet@...1656...> wrote:
Hey,
That's quite simple. Assume your file containing the data is name
Data.dat and is in the same directory than your python script.
from pylab import *
from numpy import *
tab = load('Data.dat') #load the file
r = tab[:,0] #get the r coordinates
theta = tab[:,1] #get the theta coordinates
T = tab[:,2] #get the temperature
# now, you can process/plot your data
Hope this help.
Best regards.
Benoit
Le 25-juin-07 à 19:03, Lorenzo Isella a écrit :
> Dear All,
> I am quite a newbie about Python and Pylab, but I am starting to like
> the ease you can develop with using these tools.
> I am interested in 2D radial plots (think for instance about the plot
> of the temperature along the cross-section of a pipe).
> I had a look at the tutorial online, in particular to the case
> described in:
>
> http://matplotlib.sourceforge.net/screenshots/polar_demo.py
>
> but there is something which is not 100% clear to me.
> What if, instead of having an analytical expression for the quantity I
> want to plot I have to read it (together with the r and theta
> coordinates) from a file, e.g.:
>
> r theta T
>
> where the columns r and theta contain the list of (r,theta)
> coordinates (the "grid" I am using along the cross section) and T the
> temperature evaluated at that grid point?
> If necessary, I can post an example file (but at the moment I am
> working with fairly big files and I think I conveyed an idea of what I
> am after).
> Many thanks
>
> Lorenzo
>
> ----------------------------------------------------------------------
> ---
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
--
Dr. Benoit Donnet
Université Catholique de Louvain (UCL)
Faculté des Sciences Appliquées - Département d'Ingénierie
Informatique (INGI)
Place Sainte Barbe, 2
1348 Louvain-la-Neuve
Belgium
Phone: +32 10 47 87 18
Home page: http://inl.info.ucl.ac.be/donnet
It sounds to me that you want to have a contour plot which takes as input the r,theta, and T. I would suggest just
···
On 6/26/07, Lorenzo Isella < lorenzo.isella@…287…> wrote:
Hello,
Thanks for your suggestion, but I still have a problem.
Maybe I did not make myself clear (or most likely I have a problem
about how to implement your suggestion): actually I have T=T(r,theta)
and I would like to make a 2D plot using colors such that one can see
that the domain where I am plotting is actually a circle.
The example I mentioned is not exactly what I need since there one can
find how to plot in polar coordinates a function of r alone.
Furthermore, I do not have necessarily an equally spaced grid.
For instance, let me consider the case of 5 theta’s and 7 radial
How would you plot them in order to have a 2D-color plot where one can
understand we are working on a circle (well, maybe it will look like
something different since I have only a few grid points, but the aim
is clear, I hope)?
Kind Regards
Lorenzo
On 26/06/07, Benoit Donnet <benoit.donnet@…1656…> wrote:
Hey,
That’s quite simple. Assume your file containing the data is name
Data.dat and is in the same directory than your python script.
from pylab import *
from numpy import *
tab = load(‘Data.dat’) #load the file
r = tab[:,0] #get the r coordinates
theta = tab[:,1] #get the theta coordinates
T = tab[:,2] #get the temperature
now, you can process/plot your data
Hope this help.
Best regards.
Benoit
Le 25-juin-07 à 19:03, Lorenzo Isella a écrit :
Dear All,
I am quite a newbie about Python and Pylab, but I am starting to like
the ease you can develop with using these tools.
I am interested in 2D radial plots (think for instance about the plot
of the temperature along the cross-section of a pipe).
I had a look at the tutorial online, in particular to the case
but there is something which is not 100% clear to me.
What if, instead of having an analytical expression for the quantity I
want to plot I have to read it (together with the r and theta
coordinates) from a file, e.g.:
r theta T
where the columns r and theta contain the list of (r,theta)
coordinates (the “grid” I am using along the cross section) and T the
temperature evaluated at that grid point?
If necessary, I can post an example file (but at the moment I am
working with fairly big files and I think I conveyed an idea of what I
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerba r/db2/
Matplotlib-users mailing list
Matplotlib-users@…712…
orge.net
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
and both the imshow() and contour() commands do nicely their job, but
the scalar z is defined on a trivial rectangular domain and
represented as a 2D array.
In my problem I have:
1) a set of couples (theta,r) specifying a list of positions on a tube
cross-section.
2) for each (theta,r) couple, I have a single value of T (which is
thus a long 1D array).
In general, (theta,r) may be two coordinates given on a non-trivial
domain and I have a scalar specified for each couple I thus form.
Both contour and imshow complain because they expect a 2D array.
I am sorry if I am struggling over some triviality, but I am not
making much progress by myself.
Many thanks
Lorenzo
···
On 26/06/07, Brian <forand@...287...> wrote:
It sounds to me that you want to have a contour plot which takes as input
the r,theta, and T. I would suggest just
On 6/26/07, Lorenzo Isella < lorenzo.isella@...287...> wrote:
>
> Hello,
> Thanks for your suggestion, but I still have a problem.
> Maybe I did not make myself clear (or most likely I have a problem
> about how to implement your suggestion): actually I have T=T(r,theta)
> and I would like to make a 2D plot using colors such that one can see
> that the domain where I am plotting is actually a circle.
> The example I mentioned is not exactly what I need since there one can
> find how to plot in polar coordinates a function of r alone.
> Furthermore, I do not have necessarily an equally spaced grid.
> For instance, let me consider the case of 5 theta's and 7 radial
> position and consequentely 35 values of T:
>
> theta R
> T
> 0.000000000000000000e+00 0.000000000000000000e+00 5.459815003314423620e+01
> 0.000000000000000000e+00 1.666666666666666574e-01 4.853828855239110851e+01
> 0.000000000000000000e+00 3.333333333333333148e-01 4.315101251901344881e+01
> 0.000000000000000000e+00 5.000000000000000000e-01 3.836167151642037965e+01
> 0.000000000000000000e+00 6.666666666666666297e-01 3.410390059527122020e+01
> 0.000000000000000000e+00 8.333333333333332593e-01 3.031870066752165016e+01
> 0.000000000000000000e+00 1.000000000000000000e+00 2.695362096775039973e+01
> 1.570796326794896558e+00 0.000000000000000000e+00 2.396203225329512776e+01
> 1.570796326794896558e+00 1.666666666666666574e-01 2.130248067207563523e+01
> 1.570796326794896558e+00 3.333333333333333148e-01 1.893811334477913277e+01
> 1.570796326794896558e+00 5.000000000000000000e-01 1.683616770181326316e+01
> 1.570796326794896558e+00 6.666666666666666297e-01 1.496751749887080329e+01
> 1.570796326794896558e+00 8.333333333333332593e-01 1.330626922033307302e+01
> 1.570796326794896558e+00 1.000000000000000000e+00 1.182940327795447999e+01
> 3.141592653589793116e+00 0.000000000000000000e+00 1.051645503298913731e+01
> 3.141592653589793116e+00 1.666666666666666574e-01 9.349231221746512333e+00
> 3.141592653589793116e+00 3.333333333333333148e-01 8.311557855141172624e+00
> 3.141592653589793116e+00 5.000000000000000000e-01 7.389056098930650407e+00
> 3.141592653589793116e+00 6.666666666666666297e-01 6.568943029058285532e+00
> 3.141592653589793116e+00 8.333333333333332593e-01 5.839854501207304871e+00
> 3.141592653589793116e+00 1.000000000000000000e+00 5.191687680104649871e+00
> 4.712388980384689674e+00 0.000000000000000000e+00 4.615461046534314882e+00
> 4.712388980384689674e+00 1.666666666666666574e-01 4.103189942205120566e+00
> 4.712388980384689674e+00 3.333333333333333148e-01 3.647775927922803252e+00
> 4.712388980384689674e+00 5.000000000000000000e-01 3.242908421924544982e+00
> 4.712388980384689674e+00 6.666666666666666297e-01 2.882977255397825012e+00
> 4.712388980384689674e+00 8.333333333333332593e-01 2.562994933482758420e+00
> 4.712388980384689674e+00 1.000000000000000000e+00 2.278527524544009530e+00
> 6.283185307179586232e+00 0.000000000000000000e+00 2.025633220058637107e+00
> 6.283185307179586232e+00 1.666666666666666574e-01 1.800807713756398032e+00
> 6.283185307179586232e+00 3.333333333333333148e-01 1.600935643142084031e+00
> 6.283185307179586232e+00 5.000000000000000000e-01 1.423247420534685892e+00
> 6.283185307179586232e+00 6.666666666666666297e-01 1.265280855439646635e+00
> 6.283185307179586232e+00 8.333333333333332593e-01 1.124847036463023642e+00
> 6.283185307179586232e+00 1.000000000000000000e+00 1.000000000000000000e+00
>
> How would you plot them in order to have a 2D-color plot where one can
> understand we are working on a circle (well, maybe it will look like
> something different since I have only a few grid points, but the aim
> is clear, I hope)?
> Kind Regards
>
> Lorenzo