首页 > 解决方案 > 我正面临着 Julia Range 的挑战

问题描述

我是朱莉娅的新手。在在线尝试示例时,我得到了下面的情节:

using Plots

# 10 data points in 4 series
xs = range(0, 2π, length = 10)
data = [sin.(xs) cos.(xs) 2sin.(xs) 2cos.(xs)]

# We put labels in a row vector: applies to each series
labels = ["Apples" "Oranges" "Hats" "Shoes"]

# Marker shapes in a column vector: applies to data points
markershapes = [:circle, :star5]

# Marker colors in a matrix: applies to series and data points
markercolors = [
    :green :orange :black :purple
    :red   :yellow :brown :white
]

plot(
    xs,
    data,
    label = labels,
    shape = markershapes,
    color = markercolors,
    markersize = 10
)

我面临的问题是在一开始。即使我在下面单独尝试REPL

julia> xs = range(0, 2π, length = 10)

我收到以下错误:

ERROR: MethodError: no method matching range(::Int64, ::Float64; length=10)
Closest candidates are:
  range(::Any; length, stop, step) at range.jl:76
Stacktrace:
 [1] top-level scope at none:0

我忘了包含一些包裹吗?

标签: julia

解决方案


您使用的是哪个版本的 Julia?听起来您使用的版本比您正在阅读的教程旧。我可以验证Julia 1.5 和 Julia 1.6的range(0, 2π, length = 10)产量,即使没有指定0.0:0.6981317007977318:6.283185307179586stop


推荐阅读