标签: julia-plots

在 Julia 中的数据帧上绘制简单移动平均值

我有一个包含日期和股票价格的 Excel 文件。我使用 DataFrames.jl 将此数据读入数据帧

\n
using DataFrames, StatsPlots, Indicators\n\ndf = DataFrame(XLSX.readtable("Demo-sv.xlsx", "Blad3")...)\n
Run Code Online (Sandbox Code Playgroud)\n

这非常有效,我在这里打印了前 6 个条目。

\n
6\xc3\x972 DataFrame\n\xe2\x94\x82 Row \xe2\x94\x82 Date       \xe2\x94\x82 Closeprice \xe2\x94\x82\n\xe2\x94\x82     \xe2\x94\x82 Any        \xe2\x94\x82 Any        \xe2\x94\x82\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xbc\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\xa4\n\xe2\x94\x82 1   \xe2\x94\x82 2019-05-03 \xe2\x94\x82 169.96     \xe2\x94\x82\n\xe2\x94\x82 2   \xe2\x94\x82 2019-05-02 \xe2\x94\x82 168.06     \xe2\x94\x82\n\xe2\x94\x82 3   \xe2\x94\x82 2019-04-30 \xe2\x94\x82 165.58     \xe2\x94\x82\n\xe2\x94\x82 4   \xe2\x94\x82 2019-04-29 \xe2\x94\x82 166.4      \xe2\x94\x82\n\xe2\x94\x82 5   \xe2\x94\x82 2019-04-26 \xe2\x94\x82 167.76     \xe2\x94\x82\n\xe2\x94\x82 6   \xe2\x94\x82 2019-04-25 \xe2\x94\x82 167.46     \xe2\x94\x82\n
Run Code Online (Sandbox Code Playgroud)\n

然后我使用 StatsPlots.jl 绘制这些数据@df df plot(df.Date, df.Closeprice)并得到一个漂亮的绘图。

\n

问题是当我想用 Indicators.jl 绘制简单的移动平均线时 …

julia julia-dataframe julia-plots

6
推荐指数
1
解决办法
1346
查看次数

如何在 Julia 图中制作科学的 y-ticks?

我在 Julia 1.5 中使用 Plots。如何制作如下所示的y-ticks?

我们有时会在科学论文中看到带有正确轴类型的图形。

在此处输入图片说明

julia julia-plots

6
推荐指数
1
解决办法
377
查看次数

loadNamespace(x) 中的错误:没有名为“JuliaCall”的包

我刚刚开始学习JuliaQuarto但是当我在 Quarto 的 Julia 块中运行以下代码时:

\n
---\ntitle: "Julia in Quarto"\neditor: visual\nformat: html\n---\n\n```{julia}\n# generating vectors\n# x-axis\nx = 1:10\n \n# y-axis\ny = rand(10)\n \n# simple plotting\nplot(x, y)\n```\n
Run Code Online (Sandbox Code Playgroud)\n

它返回:

\n
Error in loadNamespace(x) : there is no package called \xe2\x80\x98JuliaCall\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n

即使添加以下内容,错误仍然出现:

\n
using Pkg\nPkg.add("JuliaCall")\n
Run Code Online (Sandbox Code Playgroud)\n

到代码块。有谁知道如何在 Quarto 中运行以下 Julia 代码?

\n
\n

请注意:我使用 Rstudio

\n

julia julia-plots quarto

6
推荐指数
1
解决办法
304
查看次数

Julia SimpleHypergraphs - Hypernetx 错误

我试图用库SimpleHypergraphs计算一个小例子。但是,我按照安装说明进行操作,出现此错误:

ERROR: "HyperNetX is not installed in Python used by this Julia. Install HyperNetX and reload SimpleHypergraphs.jl"
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

using PyCall
using Conda
Conda.runconda(`install matplotlib --yes`)
Conda.runconda(`install networkx --yes`)
run(`$(PyCall.python) -m pip install hypernetx`)

using SimpleHypergraphs

h = Hypergraph{Float64}(5,4)

h[1:3,1] .= 1.5
h[3,4] = 2.5
h[2,3] = 3.5
h[4,3:4] .= 4.5
h[5,4] = 5.5
h[5,2] = 6.5

draw(h, HyperNetX; width=5, height=5)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么会出现这个错误,因为 hypernetx 安装得很好。

julia julia-plots

5
推荐指数
1
解决办法
57
查看次数

如何使用绘图 (Julia) 使 x 轴和 y 轴变粗?

如何使 Julia 图中 x 轴和 y 轴的线条更粗?有没有一种简单的方法可以实现这一目标?

微量元素:

using Plots

Nx, Ny = 101,101
x = LinRange(0, 100, Nx)
y = LinRange(0, 100, Ny)

foo(x,y; x0=50, y0=50, sigma =1) = exp(- ((x-x0)^2 + (y-y0)^2)/(2*sigma^2)  )
NA = [CartesianIndex()]  # for "newaxis"
Z = foo.(x[:,NA], y[NA,:], sigma=10);

hm = heatmap(x, y, Z, xlabel="x", ylabel="y", c=cgrad(:Blues_9), clim=(0,1))
plot(hm, tickfontsize=10, labelfontsize=14)
Run Code Online (Sandbox Code Playgroud)

导致: 电流输出

到目前为止我发现的帖子表明这是不可能的:

  1. https://discourse.julialang.org/t/plots-jl-modify-frame-thickness/24258/4
  2. https://github.com/JuliaPlots/Plots.jl/issues/1099

还这样吗?

我的情节的实际代码要长得多。我不想在不同的绘图库中重写所有内容。

plot julia julia-plots

5
推荐指数
1
解决办法
964
查看次数

在 Julia 中设置字符串指数的函数

我正在寻找一个执行以下渲染的函数:

\n
f("2") = 2\xc2\xb2\nf("15") = 2\xc2\xb9\xe2\x81\xb5\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试过f(s) = "2\\^($s)",但这似乎不是一个有效的指数,因为我无法按 TAB 键。

\n

julia julia-plots

5
推荐指数
1
解决办法
258
查看次数

如何使用 vegalite 包制作抖动

我得到了以下每个职位的图表以及箱线图中的薪水: 在此输入图像描述

在此输入图像描述

所以这里有一些异常值,以点的形式呈现,我想为每个有异常值的职位制作一些像这样的抖动:

在此输入图像描述

有什么办法可以用 Vegalite 包做到这一点吗?
有人可以给我一些建议吗?
提前致谢!

julia vega-lite julia-plots

5
推荐指数
1
解决办法
150
查看次数

如何在朱莉娅中保存情节?

我正在使用 StatsPlots 包来执行基本绘图。

df = DataFrame(A = 1:10, B =rand(10))
@df df plot(:A, :B)
Run Code Online (Sandbox Code Playgroud)

正如我预期的那样,它返回一个如下所示的绘图文件。 在此处输入图片说明

无论如何我可以将此绘图图像作为文件保存到我的机器(Ubuntu)中吗?

julia julia-plots

4
推荐指数
1
解决办法
3995
查看次数

同一图朱莉娅上的多个图

我正在编写一个 Julia 程序,它迭代地运行另一个函数,并给出两组结果。我想绘制这些结果,现在我正在做的是for分别绘制每个循环的结果,这为下面的示例提供了大约 20 个图:这样说:

for i in 1:10
    x1,y1 = first_function(a,b,c)
    plot(x1,y1)
end
for j in 1:10
    x2,y2 = second_function(a,b,c)
    plot(x2,y2)
end

Run Code Online (Sandbox Code Playgroud)

我尝试使用该plot!()命令,但这给了我在同一个图上的所有 20 个图,这是我不想要的。我想做的是将每次迭代的两个函数的结果绘制在同一个图上。例如,我想要 10 个图,每次迭代一个,其中每个图都有 和 的first_function()结果second_function。我尝试了以下方法:

for j in 1:10
    x1,y1 = first_function(a,b,c)
    x2,y2 = second_function(a,b,c)
    plot!(x1,y1)
    plot!(x2,y2)
end
Run Code Online (Sandbox Code Playgroud)

然而,这似乎也不起作用。

编辑:根据我收到的答案,我发现以下方法可以解决问题:

for i in 1:10
    x1,y1 = first_function(a,b,c)
    x2,y2 = second_function(a,b,c)
    plot(x1,y1)
    plot!(x2,y2)
end
Run Code Online (Sandbox Code Playgroud)

这会在循环的每次迭代结束时生成一个新的图,这就是我想要的。

julia plots.jl julia-plots

4
推荐指数
1
解决办法
2430
查看次数

绘制存储在二维数组中的一系列坐标

假设我在 Julia 中定义了以下数组:

M=[[1,1],[2,4],[3,9],[4,16],[5,25],[6,36],[7,49],[8,64],[9,81],[10,100],[11,121],[12,144]]
Run Code Online (Sandbox Code Playgroud)

显然,每个元素都[x,y]遵循二次法则 $y=x^2$,因此当我使用命令绘制它时,我希望得到一个抛物线形状plot(M)

但我得到的是这样的东西:

我做错了什么,我应该怎么做才能得到我想要的结果——抛物线形状?

julia julia-plots

4
推荐指数
1
解决办法
798
查看次数

无法预编译 StatsPlots.jl

这可能与thisthis相关。但是,建议的解决方案都不适合我。

\n

我正在使用带有 Julia 扩展的 VSCode,并且在 Jupyter 笔记本中运行所有内容。我的第一个单元格如下所示。

\n
using Distributions\nusing StatsBase\nusing CSV\nusing DataFrames\nusing HypothesisTests\nusing Plots\nusing GLM\nusing StatsPlots\n
Run Code Online (Sandbox Code Playgroud)\n

执行单元会产生以下错误。

\n
ailed to precompile StatsPlots [f3b207a7-027a-5e70-b257-86293d7955fd] to /home/david/.julia/compiled/v1.7/StatsPlots/jl_27z7QU.\n\nStacktrace:\n  [1] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, ignore_loaded_modules::Bool)\n    @ Base ./loading.jl:1466\n  [2] compilecache(pkg::Base.PkgId, path::String)\n    @ Base ./loading.jl:1410\n  [3] _require(pkg::Base.PkgId)\n    @ Base ./loading.jl:1120\n  [4] require(uuidkey::Base.PkgId)\n    @ Base ./loading.jl:1013\n  [5] require(into::Module, mod::Symbol)\n    @ Base ./loading.jl:997\n  [6] eval\n    @ ./boot.jl:373 [inlined]\n  [7] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String)\n    @ Base ./loading.jl:1196\n  [8] #invokelatest#2\n    @ ./essentials.jl:716 [inlined]\n …
Run Code Online (Sandbox Code Playgroud)

julia julia-plots

3
推荐指数
1
解决办法
1115
查看次数

在 julia 中绘制浮点数组

我有以下代码

using Plots

function test()::nothing
  A::Array{Float64,1} = rand(Float64,100)
  plot(A)
end
Run Code Online (Sandbox Code Playgroud)

我像这样在朱莉娅中运行

julia> include("main.jl")
test (generic function with 1 method)

julia> test()
ERROR: MethodError: First argument to `convert` must be a Type, got nothing
Stacktrace:
 [1] test() at /path/to/main.jl:85
 [2] top-level scope at REPL[2]:1
Run Code Online (Sandbox Code Playgroud)

为什么我会收到错误消息First argument to convert must be a Type, got nothing

julia julia-plots

1
推荐指数
1
解决办法
727
查看次数

标签 统计

julia ×12

julia-plots ×12

julia-dataframe ×1

plot ×1

plots.jl ×1

quarto ×1

vega-lite ×1