bra*_*ray 24 python matplotlib scatter-plot
这是我的第一个matplotlib程序,对不起我的无知.
我有两个字符串数组.说,A = ['test1','test2']和B = ['test3','test4'].如果A和B元素之间存在任何相关性,则其corr值将设置为1.
test1 | test2
test3 | 1 | 0
test4 | 0 | 1
Run Code Online (Sandbox Code Playgroud)
现在,我想绘制一个散点图,其中我的X轴将是元素A,Y轴将是元素,B如果相关值是1,则它将在散射图中标记.怎么做?
Aka*_*all 74
也许是这样的:
import matplotlib.pyplot
import pylab
x = [1,2,3,4]
y = [3,4,8,6]
matplotlib.pyplot.scatter(x,y)
matplotlib.pyplot.show()
Run Code Online (Sandbox Code Playgroud)
编辑:
让我看看我现在是否正确理解你:
你有:
test1 | test2 | test3
test3 | 1 | 0 | 1
test4 | 0 | 1 | 0
test5 | 1 | 1 | 0
Run Code Online (Sandbox Code Playgroud)
现在,您希望在散点图中表示上述值,以便值1由点表示.
假设您的结果存储在二维列表中:
results = [[1, 0, 1], [0, 1, 0], [1, 1, 0]]
Run Code Online (Sandbox Code Playgroud)
我们希望将它们转换为两个变量,以便我们能够绘制它们.
我相信这段代码会为您提供所需内容:
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()
Run Code Online (Sandbox Code Playgroud)
请注意,我确实需要导入pylab,您可以使用轴标签.这也感觉像是一种解决方法,并且可能(可能是)直接的方法来做到这一点.
| 归档时间: |
|
| 查看次数: |
149941 次 |
| 最近记录: |