在轴顶部的图形上显示点的正确方法是什么?
what is the right way to display the points on the graph on top of the axes?
有时需要在坐标轴顶部的图形上显示点,以便结果看起来像这样:
以前,当我使用 R 时,需要一定的炼金术才能获得所需的结果:首先设置渲染区域的大小,然后设置轴的位置,最后绘制数据点除此之外:
f <- rnorm(10, mean=5, sd=1)
plot(x = f, y = c(rep(0, 10)), xlim = c(-1, 11), ylim = c(0, 1),
axes = FALSE, box = FALSE, xaxs = "i", ylab="")
abline(h=0)
axis(side = 1, at = seq(0, 10, 2), pos = 0, tck = -0.02)
points(x = f, y = c(rep(0, 10)), cex=1.0, pch = 21,
col="black", bg="white", lwd = 1)
现在我正在尝试将我的整个工作流程转换为 Julia,我想为这种可视化找到一些替代方案。我通常将 Plots.jl 与 GR 后端一起使用。我在 R 中使用的技巧在这种情况下不起作用:在上面添加层时,它仍然被开头设置的 canvas 边框切断:
c = vcat(1.0, 3.0, 4.0, 6.0, 7.0, 9.0, 12.0, 21.0)
plot(c, zeros(length(c)), seriestype = :scatter,
markersize=5, markershape=:circle, color = :white, label = "", ylims=(0,Inf))
plot!(c, zeros(length(c)), seriestype = :scatter,
markersize=5, markershape=:circle, color = :white, label = "")
结果:
使用 Julia 获得此类图形的最合理方法是什么?
您应该可以使用 framestyle=:origin
或 framestyle=:zerolines
在 x-axis 上绘图
scatter(c, zeros(length(c)),
markersize=5, markershape=:circle,
color = :red, label="", framestyle=:zerolines)
如果您只想显示 x-axis
scatter(c, zeros(length(c)), markersize=5,
markershape=:circle, color = :red, legend=false,
framestyle=:origin, yaxis=false, grid=false, aspect_ratio=1.0)
有时需要在坐标轴顶部的图形上显示点,以便结果看起来像这样:
以前,当我使用 R 时,需要一定的炼金术才能获得所需的结果:首先设置渲染区域的大小,然后设置轴的位置,最后绘制数据点除此之外:
f <- rnorm(10, mean=5, sd=1)
plot(x = f, y = c(rep(0, 10)), xlim = c(-1, 11), ylim = c(0, 1),
axes = FALSE, box = FALSE, xaxs = "i", ylab="")
abline(h=0)
axis(side = 1, at = seq(0, 10, 2), pos = 0, tck = -0.02)
points(x = f, y = c(rep(0, 10)), cex=1.0, pch = 21,
col="black", bg="white", lwd = 1)
现在我正在尝试将我的整个工作流程转换为 Julia,我想为这种可视化找到一些替代方案。我通常将 Plots.jl 与 GR 后端一起使用。我在 R 中使用的技巧在这种情况下不起作用:在上面添加层时,它仍然被开头设置的 canvas 边框切断:
c = vcat(1.0, 3.0, 4.0, 6.0, 7.0, 9.0, 12.0, 21.0)
plot(c, zeros(length(c)), seriestype = :scatter,
markersize=5, markershape=:circle, color = :white, label = "", ylims=(0,Inf))
plot!(c, zeros(length(c)), seriestype = :scatter,
markersize=5, markershape=:circle, color = :white, label = "")
结果:
使用 Julia 获得此类图形的最合理方法是什么?
您应该可以使用 framestyle=:origin
或 framestyle=:zerolines
scatter(c, zeros(length(c)),
markersize=5, markershape=:circle,
color = :red, label="", framestyle=:zerolines)
如果您只想显示 x-axis
scatter(c, zeros(length(c)), markersize=5,
markershape=:circle, color = :red, legend=false,
framestyle=:origin, yaxis=false, grid=false, aspect_ratio=1.0)