【发布时间】:2017-05-16 19:30:04
【问题描述】:
我在 Julia 中使用 PyPlot 库进行绘图,而 scatter 函数似乎有一个“小”不便之处,即只接受坐标作为两个参数:一个数组用于所有 x 值,另一个用于所有 y值,即
scatter(xxs,yys)
与x=[x1,x2,...] 和y=[y1,y2,...]。
如果我有一个带有坐标点的集合或元组,例如,
A=([x1,y1],[x2,y2],...)
直接在 Python 中使用 pyplot/matplotlib 解决了一个班轮的不便,正如 here in StackOverflow 所证明的那样:
plt.scatter(*zip(*li))
但似乎 Julia 上的 zip 工作方式完全不同。到目前为止,我提供了以下解决方案,但似乎很不优雅:
x=[]
y=[]
for j in selectos
append!(x,j[2])
append!(y,j[1])
end
scatter(x,y, marker="o",c="black")
是否有更“实用”或单线(或两线)的方法?
【问题讨论】:
-
这可能是重复的:stackoverflow.com/q/41183481/6172490。但是,另一个问题并没有具体询问
zip(A...)...。所以也许这个问题会激发某人编写一个高效且通用的unzip函数:) 请参阅github.com/JuliaLang/julia/issues/13942。