scatter plot in matplotlib

matplotlib, python, scatter-plot

Solution

Maybe something like this:

import matplotlib.pyplot
import pylab

x = [1,2,3,4]
y = [3,4,8,6]

matplotlib.pyplot.scatter(x,y)

matplotlib.pyplot.show()

EDIT:

Let me see if I understand you correctly now:

You have:

       test1 | test2 | test3
test3 |   1   |   0  |  1

test4 |   0   |   1  |  0

test5 |   1   |   1  |  0

Now you want to represent the above values in in a scatter plot, such that value of 1 is represented by a dot.

Let's say you results are stored in a 2-D list:

results = [[1, 0, 1], [0, 1, 0], [1, 1, 0]]

We want to transform them into two variables so we are able to plot them.

And I believe this code will give you what you are looking for:

import matplotlib
import pylab


results = [[1, 0, 1], [0, 1, 0], [1, 1, 0]]

x = []
y = []

for ind_1, sublist in enumerate(results):
    for ind_2, ele in enumerate(sublist):
        if ele == 1:
            x.append(ind_1)
            y.append(ind_2)       


matplotlib.pyplot.scatter(x,y)

matplotlib.pyplot.show()

Notice that I do need to import `pylab`, and you would have play around with the axis labels. Also this feels like a work around, and there might be (probably is) a direct method to do this.

Problem

This is my first matplotlib program, so sorry for my ignorance. I've two arrays of string. say, `A = ['test1','test2']` and `B = ['test3','test4']`. If any correlation exists between `A` and `B` element, their corr value will be set to `1`. ``` test1 | test2 test3 | 1 | 0 test4 | 0 | 1 ``` Now, I want to draw a scatter diagram where my X axis will be elements of `A`, Y axis will be elements of `B` and if correlation value is `1`, it'll be marked in the scattered plot. how to do that?

Original source