【发布时间】:2020-08-22 08:31:34
【问题描述】:
我得到了一个看起来像这样的数据集
我正在尝试将第一列上所有带有 1 的点与带有 0 的点分开,但我想将它们放在同一个图表中。
但我找不到过滤 Julia 中的点的方法。我正在为我的项目使用 LinearAlgebra、CSV、Plots、DataFrames,但到目前为止,我还没有找到一种方法让 DataFrames 存储类型与 Plots 函数很好地配合使用。当我尝试使用 for 循环作为过滤器单独绘制点时,我一直遇到Cannot convert Float64 to series data for plotting 之类的错误,如下面的代码所示
filter = select(data, :1)
newData = select(data, 2:3)
#graph one initial point to create the plot
plot(newData[1,1], newData[1,2], seriestype = :scatter, title = "My Scatter Plot")
#add the additional points with the 1 in front
for i in 2:size(newData)
if filter[i] == 1
plot!(newData[i, 1], newData[i, 2], seriestype = :scatter, title = "My Scatter Plot")
end
end
其他方法给了我其他错误,但我没有记录那些。
我正在使用 Julia 1.4.0 和提到的所有软件包的最新版本。
快速编辑:
知道我正在尝试复制本文的非线性降维部分https://sebastianraschka.com/Articles/2014_kernel_pca.html#principal-component-analysis
可能会有所帮助【问题讨论】:
-
为什么不只是(可选:按第一列对表格进行排序,并且)将第二和第三列绘制为 x-y,点的颜色取决于第一列?
标签: dataframe julia ijulia-notebook