[Tutor] New plot over the old graph

stm atoc stm.at.oc at googlemail.com
Thu Dec 1 22:41:44 CET 2011


I appreciated for the accurate response.
I used step by step and  it is running now.

Thank you very much for your advice and guidance,

Sue


On Thu, Dec 1, 2011 at 10:01 PM, Andreas Perstinger
<andreas.perstinger at gmx.net> wrote:
> On 2011-12-01 19:20, stm atoc wrote:
>>
>> Thanks for all information/websites and advice. Yes the graph is
>> exactly like the one you mentioned. Also, I would like to have them in
>> one not two, but I think since the dimension of the x and y are not
>> same, I have no choice.
>>
>>  What I like to do now is comparing 2 (later 3 or more) different sets
>> of data, e.g. comparison among Conc[1] with sets....
>>
>> I have changed the script like this:
>>
>> with open("ourtest_out.list", "r") as f:
>>    z = numpy.array([float(v) for v in f.readline().split()[1:]])
>>
>> a1 = numpy.loadtxt("ourtest_out1.list", skiprows=3)
>> a2 = numpy.loadtxt("ourtest_out2.list", skiprows=3)
>> a3 = numpy.loadtxt("ourtest_out3.list", skiprows=3)
>>
>> N = 100
>>
>> Conc1 = a1[0:, N+1:] #base case
>> Conc2 = a2[0:, N+1:] # Ydw=0.1
>> Conc3 = a3[0:, N+1:] # nuh=0.01
>> lw = 2.0 #linewidth
>
>
> You aren't using "lw" so it doesn't make sense to define it.
>
>> dpi = 96
>> figure(figsize=(10,6),dpi=dpi)
>
>
> I prefer to not clutter up the namespace with "star imports" (from pylabs
> import *) but it's your choice.
>
>>
>> pyplot.subplot(111)
>
>
> If you just use one graph/figure this call is unnecessary.
>
>
>> pyplot.plot(Conc1[1], z)
>> pyplot.plot(Conc2[1], z)
>> pyplot.plot(Conc3[1], z)
>> pyplot.xlim(0,1)
>>
>> plt.xlabel('Conc')
>> plt.ylabel('z')
>
>
> I assume you've got these lines from the tutorial. But there they are using
> the following import:
>
> import matplotlib.pyplot as plt
>
> I've used
>
> import matplotlib.pyplot as pyplot
>
> so you have to decide which name you want to use (You can't mix both).
>
> In general, if you just use
>
> import matplotlib.pyplot
>
> you would have to use always the full name:
>
> matplotlib.pyplot.xlabel('Conc')
>
> But with the "as"-keyword you can choose, which name gets imported into the
> namespace.
>
> If you have problems understanding imports and namespaces look at Alan's
> tutorial:
> http://www.freenetpages.co.uk/hp/alan.gauld/tutfunc.htm (section "Using
> Modules")
> http://www.freenetpages.co.uk/hp/alan.gauld/tutname.htm (about Namespaces)
>
>
>>
>> pyplot.grid(True)
>> show()
>> savefig('Conc.png')
>
>
> You should call "savefig" before "show" because in non-interactive mode
> (calling the script from the commandline) "show" will block all figures
> until they are closed. So after "show" there won't be any figures left and
> "savefig" will write an empty figure to the file.
>
>
>> close()
>>
>> This can give me the comparison in one graph, I suppose.
>> Now, first I like to know if this is a fine/logical script. otherwise
>> I would like to know about probably a better way to write it with less
>> lines!
>
>
> You could write the whole script in a more object-oriented style where you
> create a figure-instance and then set the attributes you want instead of
> calling all the functions. But for the beginning it's ok.
>
>
>> and second, when I do plot, each grid between x or y axis, has a
>> thickness of 0.2. what I like do is to change it to 0.1 grid . So, I
>> couldn't find it through matplotlib website (at least with my
>> searching. Would it be possible helping me about?
>
>
> You set the scale with the "xticks"-function (or the corresponding
> "yticks"):
> http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.xticks
>
> So in your case you could use
>
> pyplot.xticks(numpy.arange(0, 1.1, 0.1))
>
>
> Bye, Andreas
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor


More information about the Tutor mailing list