我正在使用 Julia 进行财务数据处理,然后根据财务数据绘制图表。
在图表的X轴上我正在绘制日期(每天价格) 在Y轴上我正在绘制股票价格,MovingAverage13和MovingAverage21
我目前正在使用DataFrames绘制数据
代码 -
df=DataFrame(x=dates,y1=pricesClose,y2=m13,y3=m21)
l1=layer(x="x",y="y1",Geom.line,Theme(default_color=color("blue")));
l2=layer(x="x",y="y2",Geom.line,Theme(default_color=color("red")));
l3=layer(x="x",y="y3",Geom.line,Theme(default_color=color("green")));
p=plot(df,l1,l2,l3);
draw(PNG("stock.png",6inch,3inch),p)
我正确地获取图表,但我无法在显示的图表中添加图例 蓝线是关闭价格 红线是移动平均线13 绿线是移动平均值21
我们如何在图表中添加图例?
答案 0 :(得分:15)
我从this link的评论中了解到,目前无法获得图层列表的图例。
Gadfly基于Hadley Wickhams的R ggplot2,因此通常的模式是将数据排列到具有离散列的DataFrame中以用于标记目的。在您的情况下,这种方法看起来像:
x = 1:10
df1 = DataFrame(x=x, y=2x, label="double")
df2 = DataFrame(x=x, y=x.^2, label="square")
df3 = DataFrame(x=x, y=1./x, label="inverse")
df = vcat(df1, df2, df3)
p = plot(df, x="x", y="y", color="label", Geom.line,
Scale.discrete_color_manual("blue","red", "green"))
draw(PNG("stock.png", 6inch, 3inch), p)
答案 1 :(得分:5)
现在您可以尝试使用manual_color_key。 这里需要对代码进行唯一更改:
p=plot(df,l1,l2,l3,
Guide.ylabel("Some text"),
Guide.title("My title"),
Guide.manual_color_key("Legend", ["I'm blue l1", "I'm red l2", "I'm green l3"], ["blue", "red", "green"]))