wpk*_*kzz 5 list scatter julia
我正在使用Julia中的PyPlot库进行绘图,并且散布函数似乎有一点"不便",即只接受坐标作为两个参数:一个数组用于所有x值,另一个用于所有y值,即
scatter(xxs,yys)
Run Code Online (Sandbox Code Playgroud)
用x=[x1,x2,...]
,和y=[y1,y2,...]
.
如果我有一个具有坐标点的集合或元组,例如,
A=([x1,y1],[x2,y2],...)
Run Code Online (Sandbox Code Playgroud)
直接在Python中使用pyplot/matplotlib解决了一个内核中的不便,正如StackOverflow中所述:
plt.scatter(*zip(*li))
Run Code Online (Sandbox Code Playgroud)
但似乎Julia上的拉链完全不同.到目前为止,我已经提出了以下解决方案,但它似乎相当不优雅:
x=[]
y=[]
for j in selectos
append!(x,j[2])
append!(y,j[1])
end
scatter(x,y, marker="o",c="black")
Run Code Online (Sandbox Code Playgroud)
是否有更"功能"或单线(或双线)方法?
正如在另一个答案中提到的,可以在 Julia 中使用相同的方法,即scatter(zip(A...)...)
,但是对于较大的向量来说这非常慢,应该避免。
另一种可能性是用于getindex.(A, i)
获取 中向量的所有i
第 th 个元素的向量A
。
julia> A = [[i, 10i] for i=1:5]
5-element Array{Array{Int64,1},1}:
[1, 10]
[2, 20]
[3, 30]
[4, 40]
[5, 50]
julia> getindex.(A,1)
5-element Array{Int64,1}:
1
2
3
4
5
julia> getindex.(A,2)
5-element Array{Int64,1}:
10
20
30
40
50
Run Code Online (Sandbox Code Playgroud)