[Numpy-discussion] arrays and : behaviour

Benjamin Root ben.root at ou.edu
Thu May 1 09:45:08 EDT 2014

```By default, the hold is already True. In fact, that might explain some of
the differences in what you are seeing. There are more points in the second
image than in the first one, so I wonder if you are seeing some leftovers
of previous plot commands?

One issue I do see is that the slicing is incorrect. [0:3] means index 0,
1, and 2.  So index 3 is never accessed.  I think you want [0:4].

I should also note that once you have your data as a numpy array, your
indexing can be greatly simplified:
plt.plot(array4D[0][0][0:4][0],array4D[0][0][0:4][0],'bo')
can be done as:
plt.plot(array4D[0, 0, 0:4, 0], array4D[0, 0, 0:4, 0], 'bo')

Cheers!
Ben Root

On Thu, May 1, 2014 at 8:33 AM, Eelco Hoogendoorn <
hoogendoorn.eelco at gmail.com> wrote:

> You problem isn't with colon indexing, but with the interpretation of the
> arguments to plot. multiple calls to plot with scalar arguments do not have
> the same result as a single call with array arguments. For this to work as
> intended, you would need plt.hold(True), for starters, and maybe there are
> other subtleties.
>
>
> On Thu, May 1, 2014 at 1:31 PM, did did <21did21 at gmx.com> wrote:
>
>> Hello all and sorry for my bad english,
>>
>> i am a beginner with python and i try to save a lot of data in several
>> folders in a 4D matrix
>> and then to plot two columns of this 4D matrix.
>>
>> Bellow, i have the code to fill my 4D matrix, it works very well :
>>
>> [CODE]matrix4D=[]
>> for i in Numbers:
>>     matrix3D=[]
>>     for j in listeOfdata:
>>         nameOfFile=filePrefixe+i+"-"+j+extensionTXT
>>         matrix3D.append(matrix2D)
>>     matrix4D.append(matrix3D)
>> array4D = np.asarray(matrix4D)[/CODE]
>>
>> But now, i want to plot the third column as function of the third too
>> (just for trying) and i use
>> this stupid manner that works well :
>>
>> [CODE]plt.figure(1)
>> temp=plt.plot(array4D[0][0][0][0],array4D[0][0][0][0],'bo')
>> temp=plt.plot(array4D[0][0][1][0],array4D[0][0][1][0],'bo')
>> temp=plt.plot(array4D[0][0][2][0],array4D[0][0][2][0],'bo')
>> temp=plt.plot(array4D[0][0][3][0],array4D[0][0][3][0],'bo')
>> plt.show()[/CODE]
>>
>> Now, i want to use a more smart manner and i use ":" like this
>>
>> [CODE]plt.figure(1)
>> temp=plt.plot(array4D[0][0][0:3][0],array4D[0][0][0:3][0],'bo')
>> plt.show()[/CODE]
>>
>> The result should be the same but i don't got the same results!!!
>>
>> In attachement you have the two corresponding plots, can you explain to
>> me with
>> i don't have the same plots ??
>>
>> thanks for all
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
-------------- next part --------------
An HTML attachment was scrubbed...