当前位置: 首页 > 知识库问答 >
问题:

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

纪勇军
2023-03-14

函数调用(不起作用):

   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

共有1个答案

郎言
2023-03-14

Julia是一种相当新的语言,文档是稀疏和分散的,但这本质上是一个PyPlot问题。散点图标记是一个符号,应该以此传递。因此,将这些数据作为参数传递的正确代码是:

函数调用(工作):

   using DataFrames
   pyplot()

   df=DataFrame(someData)
   arComponents=Symbol[:star, :square]
   doPCA(df,arComponents)

顺便说一句,尽管Julia的错误消息有点笨拙,但在错误输出中,只要它报告您的假参数不在正确的符号[...,...]中,就会有提示格式

 类似资料:
  • 问题内容: 我想使用数组作为参数调用一个函数: 有路过的内容的一种更好的方式进入? 问题答案: const args = [‘p0’, ‘p1’, ‘p2’]; call_me.apply(this, args); 请参阅MDN文档。 如果环境支持ECMAScript6,则可以改用传播参数:

  • 问题内容: 如何在不执行“父”函数或不使用函数的情况下将函数作为参数传递?(因为我已经读到它是不安全的。) 我有这个: 它可以工作,但是问题是在调用函数时触发,而不是在函数中使用时触发。 根据我所读的内容,我可以使用来解决它,但这不是最佳实践。如何在JavaScript中将函数作为参数传递? 问题答案: 您只需要删除括号: 然后,这将传递函数而不先执行它。 这是一个例子:

  • 我想标记我在python中绘制的每个点,但我没有找到合适的方法。 假设我有两个名为和的元素列表,我以这种方式打印它们: 我想用变量k来标记每个点,的范围显然是从到。谢谢你抽出时间

  • 问题内容: 在Java中,如何将一个函数作为另一个函数的参数传递? 问题答案: Java 8及以上 如果你的类或接口只有一个抽象方法(有时称为SAM type),则使用Java 8+ lambda表达式,例如: 然后可以在使用MyInterface的任何地方替换lambda表达式: 例如,你可以非常快速地创建一个新线程: 并使用方法引用语法使其更加清晰: 如果没有 lambda表达式,则最后两个示

  • 在散点图的pyplot文档中: 标记大小 是哪种单位?这是什么意思?是否意味着? 基本上,我试图用不同的标记大小绘制散点图,我想弄清楚数字的含义。

  • 我有一个带符号值的pyplot极坐标散点图。Pyplot做了“正确”的事情,只创建一个正轴,然后反射负值,使其看起来像180度以外的正值。 但是,默认情况下,pyplot使用相同的颜色打印所有点。所以正负值是无法区分的。 我想很容易区分角度x的正值和角度(x/-180)的负值,正值为红色,负值为蓝色。 我在为这种情况创建一个非常简单的彩色地图方面没有取得任何进展。 帮助