Matplotlib 使用PyPlot在Julia中将散点图标记作为函数参数传递

Matplotlib 使用PyPlot在Julia中将散点图标记作为函数参数传递,matplotlib,julia,marker,Matplotlib,Julia,Marker,我试图使用PyPlot作为后端,将marker设置传递给Julia中的散点图,例如,Julia使用marker=:star语法;如何传递:星型设置作为函数参数这不能作为字符串使用 函数调用不起作用: using DataFrames pyplot() df=DataFrame(someData) arComponents=["star","square"] nMaxComponents=3 doPCA(df,arComponents,nMaxComponen

我试图使用PyPlot作为后端,将marker设置传递给Julia中的散点图,例如,Julia使用marker=: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的错误消息有点笨拙,但提示出现在错误输出中,只要它报告您的伪参数不是正确的符号[…,…]格式。

在我看来,这似乎不是PyPlot问题,而是一个问题。另外,arComponents=[:star,:square]就足够了。我在回答中明确表示这是一个PyPlot问题——不幸的是,当我开始寻找其他援助来源时,这并不明显,因为Julia是一种新语言。此外,arComponents=[:star,:square]还不够。像我这样的人在StackOverflow.com上搜索像这样的帮助,这是非上下文的答案。非常感谢。