天道酬勤,学无止境

plots.jl

将全局标题添加到 Plots.jl 子图(Adding global title to Plots.jl subplots)

问题 我想使用 Plots.jl 为一组子图添加全局标题。 理想情况下,我会做这样的事情: using Plots pyplot() plot(rand(10,2), plot_title="Main title", title=["A" "B"], layout=2) 但是,根据 Plots.jl 文档,尚未实现plot_title属性: 整个情节的标题(不是子情节)(注意:当前未实施) 同时,有什么办法可以解决吗? 我目前正在使用pyplot后端,但我并没有特别依赖它。 回答1 这是一个小技巧,但应该与后端无关。 基本上创建一个新图,其中唯一的内容是您想要的标题,然后使用layout将其添加到顶部。 以下是使用GR后端的示例: # create a transparent scatter plot with an 'annotation' that will become title y = ones(3) title = Plots.scatter(y, marker=0,markeralpha=0, annotations=(2, y[2], Plots.text("This is title")),axis=false, grid=false, leg=false,size=(200,100)) # combine the 'title' plot with your

2021-12-22 02:22:50    分类:技术分享    julia   plots.jl

Adding global title to Plots.jl subplots

I would like to add a global title to a group of subplots using Plots.jl. Ideally, I'd do something like: using Plots pyplot() plot(rand(10,2), plot_title="Main title", title=["A" "B"], layout=2) but, as per the Plots.jl documentation, the plot_title attribute is not yet implemented: Title for the whole plot (not the subplots) (Note: Not currently implemented) In the meanwhile, is there any way around it? I'm currently using the pyplot backend, but I'm not especially tied to it.

2021-12-12 17:58:41    分类:问答    julia   plots.jl

情节 + 朱莉娅 + 乳胶(Plotly + Julia + Latex)

问题 我想在 Plotly 后端使用乳胶。 看看这个例子:即使是 x 轴和 y 轴对数刻度也没有正确格式化! 你知道怎么做吗? 最好的事物, v. using Plots, LaTeXStrings plotlyjs() x = 10 .^ LinRange(-5,5,10) plot(x, 1 ./ x, yaxis=:log, xaxis=:log, m = 2, xlabel="x", label="1/x",ylabel="f(x)") plot!(x, 10 ./ x, m=2,label="10/x") plot!(x, 1 ./ (x.^2), m=2, label=L"f(x)=$1/x^2$") savefig("./test.png") 回答1 似乎与gr()后端一起使用,所以我希望plotlyjs()后端不支持plotlyjs() 。

2021-10-30 18:01:16    分类:技术分享    latex   julia   plotly   plots.jl

如何使用 Plots.jl 缩放字体大小(How to scale the fontsizes using Plots.jl)

问题 有没有办法一次重新调整所有字体大小(图例、刻度标签、轴标签……)? Filippo Vicentini 在 Slack 上的原始问题。 回答1 可以使用titlefontsize 、 tickfontsize 、 legendfontsize 、 tickfontsize 、 guidefontsize和legendtitlefontsize属性控制单个字体大小,但我知道这可能非常乏味。 还有thickness_scaling属性。 plot(rand(10), thickness_scaling = 0.5) 然而,这也会影响线宽。 第三种选择是调用 Plots.scalefontsizes(α) 按因子α缩放所有字体大小。 这会更改所有后续绘图的全局字体大小默认值,并且可以使用以下命令撤消 Plots.scalefontsizes(1 / α) Daniel Schwabeneder 在 Slack 上的回答。

2021-10-25 09:59:10    分类:技术分享    plot   julia   plots.jl

使用 Julia Plots 访问后端特定功能(Accessing backend specific functionality with Julia Plots)

问题 Plots简单而强大,但有时我想对情节的各个元素进行更多控制以微调其外观。 是否可以直接更新后端的绘图对象? 例如,对于默认的pyplot后端,我试过 using Plots p = plot(sin) p.o[:axes][1][:xaxis][:set_ticks_position]("top") 但情节没有改变。 之后调用po[:show]()也无济于事。 换句话说:有没有办法将PyPlot界面用于最初使用Plots创建的Plots ? 编辑: 保存图形时,对PyPlot对象的更改变得可见(也在 gui 中): using Plots using PyPlot p = Plots.plot(sin, top_margin=1cm) gui() # not needed when using the REPL gca()[:xaxis][:set_ticks_position]("top") PyPlot.savefig("test.png") 在这里,我使用了po[:axes][1] == gca() 。 必须设置top_margin=1cm因为绘图区域不会自动调整(对于我的实际微调,这无关紧要)。 只要仅使用PyPlot接口,这也适用于后续更新。 例如,在执行以下命令后,除了顶部的标签外,绘图还会有一个红色的右边框: gca()[:spines]["right"][

2021-10-09 22:35:55    分类:技术分享    matplotlib   julia   plots.jl

如何使用 Plots.jl 在图像上绘图?(How plot on Images with Plots.jl?)

问题 我想使用 Plots.jl 绘制图像,例如简单的正弦曲线。 这是我的代码: using Plots using Images gr() h = 400 w = 600 a = Array(RGB{FixedPointNumbers.UFixed{UInt8,8}}, h, w) img = Image(a) p=plot(img) x = collect(0:0.1:2π) plot!(x,sin(x)) png("Test") 但我得到错误的结果。 如何正确地做到这一点? 回答1 这是一个简单的例子,我希望能给你一些线索: julia> plot(img) julia> plot!(x->200sin(.05x)+300, 0, 700, w=5) 您可能只想确保绘制到与图像匹配的正确坐标。

2021-10-09 06:13:12    分类:技术分享    julia   plots.jl

Julia PyPlot:绘制 3D 表面,将表面颜色作为表面梯度的范数(Julia PyPlot: plot 3D surface with as face colors the norm of surface gradient)

问题 有谁知道如何使用 Julia 的 Pyplot 绘制 3D 表面,例如将表面梯度的范数作为面部颜色? 类似于 Python 的这个主题:Color matplotlib plot_surface command with surface gradient 回答1 我看到了这个,我只需要让它工作。 使用 PyPlot 后端,它几乎被 Plots.jl 支持开箱即用。 我只需要换一个自定义 matplotlib 着色器来应用不同的 z 矩阵。 您会注意到我正在访问 numpy 的梯度函数(通过PyCall导入),并且我正在包装梯度矩阵G以便它不会被分成列。 总而言之......比python示例简单得多! using Plots; pyplot(); x = y = LinRange(-5.0, 5.0, 30) z = sin(sqrt(Float64[xi^2+yi^2 for xi = x, yi = y])) surface(x, y, z, alpha = 0.7) using PyCall Gx, Gy = Plots.pynb.pymember(:gradient)(z) surface(x, y, z, alpha = 0.8, zcolor = wrap(G))

2021-10-07 04:45:31    分类:技术分享    matplotlib   julia   plots.jl

Plotly + Julia + Latex

I would like to use latex with the Plotly backend. Look in this example: Even the x-axis and y-axis log scales are not formatted properly! Do you know how to do that? Best, v. using Plots, LaTeXStrings plotlyjs() x = 10 .^ LinRange(-5,5,10) plot(x, 1 ./ x, yaxis=:log, xaxis=:log, m = 2, xlabel="x", label="1/x",ylabel="f(x)") plot!(x, 10 ./ x, m=2,label="10/x") plot!(x, 1 ./ (x.^2), m=2, label=L"f(x)=$1/x^2$") savefig("./test.png")

2021-09-03 01:11:29    分类:问答    latex   julia   plotly   plots.jl

How to scale the fontsizes using Plots.jl

is there a way to rescale all the fontsizes (legend, tickslabels, axislabels…) at once? Original question from Filippo Vicentini on Slack.

2021-08-31 12:17:39    分类:问答    plot   julia   plots.jl

How to create an arbitrary number of subplots in Julia Plots

I want to make a set of subplots from a multidimensional array using Breloff's Julia Plots. This plot function takes a varargs input and makes them into subplots, but I can't seem to feed my array in properly and am probably overlooking something simple. For example with an array a: a = randn(5,5,8) a = a.-mean(a) a = a./maximum(extrema(a)) If I want to plot some of the 5x5 slices as heatmaps, I can do: plot(heatmap(a[:,:,1], aspect_ratio=:equal, clims=(-1,1), title=string(1)), heatmap(a[:,:,2], aspect_ratio=:equal, clims=(-1,1), title=string(2)), heatmap(a[:,:,3], aspect_ratio=:equal, clims=(

2021-08-11 02:30:22    分类:问答    julia   heatmap   subplot   plots.jl