使用 PyPlot 在 Julia 中将散点图标记作为函数参数传递
Passing Scatter Plot Marker as Function Parameter in Julia Using PyPlot
我正在尝试使用 PyPlot 作为后端将标记设置传递给 Julia 中的散点图 - 例如,Julia 使用“marker=:star
”语法;如何将此“:star
”设置作为函数参数传递(这不能用作字符串)?
函数调用(不起作用):
using DataFrames
pyplot()
df=DataFrame(someData)
arComponents=["star","square"]
nMaxComponents=3
doPCA(df,arComponents,nMaxComponents)
函数代码:
# Function doPCA: performs PCA, displays scatter plot
# Inputs: df (dataframe), arMarkers (array, plot marker settings),
# nMaxComponents (integer, maximum # of PCA components)
#
function doPCA(df, arMarkers, nMaxComponents)
# skipped PCA code
nCount=1
while nCount < nMaxComponents
pltGet=scatter(...,marker=arMarkers[nCount],...)
nCount=nCount+1
end
end
Julia 是一种相当新的语言,文档稀疏且分散,但这本质上是一个 PyPlot 问题。散点图标记是一个符号,应按原样传递。因此,将这些数据作为参数传递的正确代码是:
函数调用(有效):
using DataFrames
pyplot()
df=DataFrame(someData)
arComponents=Symbol[:star, :square]
doPCA(df,arComponents)
顺便说一句,虽然 Julia 的错误消息有点笨拙,但提示在错误输出中,无论它报告您的伪造参数是否采用正确的 Symbol[...,...] 格式。
我正在尝试使用 PyPlot 作为后端将标记设置传递给 Julia 中的散点图 - 例如,Julia 使用“marker=:star
”语法;如何将此“:star
”设置作为函数参数传递(这不能用作字符串)?
函数调用(不起作用):
using DataFrames
pyplot()
df=DataFrame(someData)
arComponents=["star","square"]
nMaxComponents=3
doPCA(df,arComponents,nMaxComponents)
函数代码:
# Function doPCA: performs PCA, displays scatter plot
# Inputs: df (dataframe), arMarkers (array, plot marker settings),
# nMaxComponents (integer, maximum # of PCA components)
#
function doPCA(df, arMarkers, nMaxComponents)
# skipped PCA code
nCount=1
while nCount < nMaxComponents
pltGet=scatter(...,marker=arMarkers[nCount],...)
nCount=nCount+1
end
end
Julia 是一种相当新的语言,文档稀疏且分散,但这本质上是一个 PyPlot 问题。散点图标记是一个符号,应按原样传递。因此,将这些数据作为参数传递的正确代码是:
函数调用(有效):
using DataFrames
pyplot()
df=DataFrame(someData)
arComponents=Symbol[:star, :square]
doPCA(df,arComponents)
顺便说一句,虽然 Julia 的错误消息有点笨拙,但提示在错误输出中,无论它报告您的伪造参数是否采用正确的 Symbol[...,...] 格式。