Hi Skip
For the tasks 1. and 2. you can write:
require 'plot'
]a=.0 0, 2 _3, _1 2, 1 1,_1 _2,: 3 4
pd 'reset;type marker;color red'
pd <"1|: 3{.a
pd 'color blue'
pd <"1|: 3}.a
pd 'show'
but I don't know how to plot points in 3D in J. I have done rotating only in 2D
and played in 3D by rotating surface plots by crudely changing viewpoint.
Maybe you could prep the data in J and feed it to GNU Plot or something
similar? This might not be very smooth, though.
Best Regards
Esa
-----Original Message-----
From: Programming [mailto:[email protected]] On Behalf
Of 'Skip Cave' via Programming
Sent: Saturday, October 28, 2017 6:32 AM
To: [email protected]
Subject: Re: [Jprogramming] Euclidean Distance
As part of my NLP project, I need a way to plot 2D & 3D point cluster plots.
Let's take the example in my previous email:
(0 0, 2 _3 ,: _1 2) dis 1 1,_1 _2,:3 4
1.41421 3.16228 4.47214
In that distance calculation, their are 6 coordinate pairs, representing 6
points in x & y.
The six points are:
0 0, 2 _3, _1 2, 1 1,_1 _2, 3 4
I want to see a plot of those 6 points.
1. How do I make a 2D plot that shows these 6 points as small dots on an xy
graph.
2. How can I make the first three points red dots, and the last three
points blue dots?
3. Now assume I have 6 more points, but they are in three dimensions:
0 0 0, 2 _3 1, _1 2 0, 1 1 1,_1 _2 3, 3 4 2
4. How do I make a 3D plot that shows these 6 points as small dots in a 3D
xyz perspective view graph
5. How do I rotate the view?
6. How can I make the first three points red dots, and the last three
points blue dots?
Skip
<<<>>>
On Fri, Oct 27, 2017 at 9:48 PM, Skip Cave <[email protected]> wrote:
> Raul,
>
> Yes, rank was the problem. It hit me while I was eating dinner
> but your solution was different than what I expected (they usually are):
>
> Raul:
>
> dis =.4 :'%:+/*:x-y' "1
>
> (0 0, 2 _3 ,: _1 2) dis 1 1,_1 _2,:3 4
>
> 1.41421 3.16228 4.47214
>
>
> 0 0 dis 1 1,_1 _2,:3 4
>
> 1.41421 2.23607 5
>
>
> I need to study this more. My solution was:
>
> dis =. 4 :'%:+/"1 *:x-y'
>
>
> (0 0, 2 _3 ,: _1 2) dis 1 1,_1 _2,:3 4
>
> 1.41421 3.16228 4.47214
>
>
> 0 0 dis 1 1,_1 _2,:3 4
>
> |length error: dis
>
> | %:+/"1*:x -y
>
>
> So my scheme doesn't work for one-to-many. It just works on one-to-one
>
> & many-to-many (both nouns must be the same size).
>
> I had no idea you could put the rank operator outside the quotes!
>
> Where does the language description doc discuss this trick?
>
>
> Skip
>
> Skip Cave
> Cave Consulting LLC
>
> On Fri, Oct 27, 2017 at 7:03 PM, Raul Miller <[email protected]>
> wrote:
>
>> The items that dis is expecting are rank 1 vectors. So it might make
>> sense to include a rank 1 specification in its definition:
>>
>> dis =: 4 :'%:+/*:x-y'"1
>>
>> Does that work for this example?
>>
>> 0 0 dis 1 1,_1 _2,:3 4
>> 1.41421 2.23607 5
>>
>> ... seems so ...
>>
>> Thanks,
>>
>> --
>> Raul
>>
>>
>> On Fri, Oct 27, 2017 at 7:11 PM, 'Skip Cave' via Programming
>> <[email protected]> wrote:
>> > In the 2014-11-11 NYCJUG meeting
>> > <http://code.jsoftware.com/wiki/NYCJUG/2014-11-11> there was a
>> discussion
>> > on Euclidean Distance. The verb 'dis' was used to demonstrate how to to
>> > calculate the Euclidean distance between two vectors.
>> >
>> > 0 0 dis 1 1 NB. Euclidean distance 1.41421 1 1,_1 _2,:3 4 NB. Table of
>> 2-D
>> > points 1 1 _1 _2 3 4 0 0 dis 1 1,_1 _2,:3 4 NB. Distances from origin
>> > 1.41421 2.23607 5 0 0 0 dis 1 1 1 NB. Handles higher dimensions 1.73205
>> > I have a NLP project that needs to calculate the
>> > Euclidean distance between points in a multi-dimensional
>> > space. I now the basic formula - square the differences,
>> > sum the squares, take the square root of the sum:
>> >
>> > dis =. 4 :'%:+/*:x-y'
>> >
>> > 0 0 dis 1 1
>> >
>> > 1.41421
>> > 0 0 0 dis 1 1 1
>> >
>> > 1.73205
>> >
>> > Looking good....
>> >
>> > 0 0 dis 1 1,_1 _2,:3 4
>> >
>> > |length error: dis
>> >
>> > | %:+/*:x -y
>> >
>> > Ooops!
>> >
>> > How can I make dis handle multiple pairs of vectors?
>> >
>> > like:
>> >
>> > (0 0, 2 _3 ,: _1 2) dis 1 1,_1 _2,:3 4
>> >
>> > 1.41421 3.16228 4.47214
>> >
>> > Skip Cave
>> > Cave Consulting LLC
>> > ----------------------------------------------------------------------
>> > For information about J forums see http://www.jsoftware.com/forums.htm
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm