绘制多个不相关的数据集图形代数

问题描述 投票:0回答:1

我想使用图形代数在一张图表上绘制多个有些不相关的数据集。 即我想要一些虚线,另一些虚线。 颜色可以随机就好。 理想情况下,我会为每个项目都有自定义标签。

我一直在尝试通过为每个数据集创建一个数据对象并向其应用图层来实现这一目标,但我不确定如何通过一个漂亮的图例来实现这一目标。 另外,使用图形功能代数似乎不是一种自然的方法。

function filterPlot(filterPos; xlab = "", ylab="Blocking Intensity")
    
    dataForPlot = nothing
    vec_to_df((id, values)) = DataFrame(label = id, xx = 1:length(values), yy = values)
    
    #filterPos is generaly a vector of vectors. We want to plot each of the vectors. 
    if filterPos[1] isa Array{<:Number,1}
        counterj=1
        dataForPlot = data(DataFrame(xx = 1:length(filterPos[1]), yy = filterPos[1]))*mapping(:1=>(t->t) ,:2 => (t->t))* visual( color = ColorSchemes.twelvebitrainbow[counterj])
        for thing in filterPos[2:end]
            counterj+=1
            plotFilter = DataFrame(xx = 1:length(thing), yy = thing)
            dataForPlot =dataForPlot + data(plotFilter)*mapping(:1=>(t->t) ,:2 => (t->t))*visual(color = ColorSchemes.twelvebitrainbow[counterj])
        end
        
    else
        plotFilter = DataFrame(xx = 1:length(filterPos), yy = filterPos)
        dataForPlot = data(plotFilter)*mapping(:xx=>(t->t) ,:yy => (t->t))
        
    end
    dataForPlot *= visual(Lines)


    plaxis = (xlabel = xlab, ylabel = ylab)

    drawing = draw(dataForPlot;axis = plaxis)
    return drawing
end 

编辑:代码中的拼写错误

plot julia
1个回答
0
投票

假设我将数据存储为向量的向量:

#My x values:
xdatas = [ xvalues1, xvalues2 ]

ydatas = [yvalues1, yvalues2]

myColor = anyColorSchemeILike
colorLength = length(myColor)


vec_to_df(j) = DataFrame(xx = xdatas[j], yy = ydatas[j])

dataForPlot = data(vec_to_df(1))*mapping(:xx, :yy)*visual(color = myColor[ 1 ]  )

for j in 2:length(xdatas)
      dataForPlot += data(vec_to_df(j))*mapping(:xx, :yy) *visual(color = myColor[ mod(j-1,colorLength-1)+1   ]  )
end

actualFigure = Figure()

draw!(actualFigure[1,1], dataForPlot )
© www.soinside.com 2019 - 2024. All rights reserved.