我得到了一个数据集,如下所示
我试着在第一列用1表示所有的点,用0表示点,但是我想把它们放在同一张图中。
我知道最终的结果应该是这样的。
但我找不到一种方法来过滤朱莉娅的观点。我在我的项目中使用了LinearAlgebra、CSV、Plots、DataFrames,但到目前为止,我还没有找到一种方法来让DataFrames存储类型与Plots函数很好地协同工作。当我尝试使用for循环作为过滤器逐个绘制点时,我总是遇到像Cannot convert Float64 to series data for plotting这样的错误,如下面的代码所示
filter = select(
在使用读取数据集时创建的2-d数组的类型为any。下面是我的代码: using Plots
pyplot()
using DelimitedFiles
import Base: convert, promote_rule
fi=readdlm("train.csv",',')
att1=fi[:,1]
att2=fi[:,3]
plot(att1,att2) 这是错误消息 No user recipe defined for SubString{String}
Stacktrace:
[1] error(::String) at ./error.jl:33
我编写了一个估计pi的函数picircle()。
现在,我想为N个值绘制这个函数。
function Plotpi()
p = 100 # precision of π
N = 5
for i in 1:N
picircle(p)
end
end
3.2238805970149254
3.044776119402985
3.1641791044776117
3.1243781094527363
3.084577114427861
现在我不知道如何绘制函数,我尝试了plot(PP()),但是它没有工作
在这里,我定义了皮环:
function picircl
我想知道如何用绘制一个线性函数(例如y= 3x + 2)。我想出的一种方法是在这条线上画两个点,然后添加Geom.line。
using Gadfly
function f(x)
3 * x + 2
end
domains = [1, 100]
values = [f(i) for i in domains]
p = plot(x = domains, y = values, Geom.line)
img = SVG("test.svg", 6inch, 4inch)
draw(img, p)
有什么更好的方法来画线吗?我已经找到了卡扎菲文档上的部分。我不
我从学朱莉娅这是朱莉娅的代码
using Plots,UnicodePlots,RDatasets
unicodeplots()
v=dataset("Ecdat","Airline")
typeof(v)
plot(v, :Cost) # this line will produce the error
plot(v) # this line will produce the error, too
我得到了
ERROR: Cannot convert DataFrame to series data for plotting
Stacktrace:
[1]
我想使用朱莉娅将一个PlotlyJS图保存为PNG,但我不知道如何保存。声明“要保存图表以便外部查看,可以使用savefig(p,filename::String)方法”。然而,以下代码:
using PlotlyJS
p = plot(rand(10, 4))
PlotlyJS.savefig(p, filename="myimage.png")
由于"got不受支持的关键字参数“"filename”而导致错误,但使用
PlotlyJS.savefig(p, "myimage.png")
结果出现“访问未定义引用”错误:
ERROR: Und
我之前做了一些变通方法,在Julia Plotly中实现了精彩的子情节,但目前正在与一个更复杂的问题作斗争。下面有三种方法可以完成这项工作。draw1完美地做到了这一点,但不适用于我的情况,draw2不适用,draw3在REPL中做到了,但其他情况下不适用。
这是图的期望矩阵,又称子图。
draw1完成->期望的图形矩阵出现的工作
function draw1()
[plot([1,1,1]) plot([2,2,2]); plot([3,3,3]) plot([4,4,4])]
end
draw2a和draw2b则不需要,无论它们是作为模块的函数调用还是复制到REPL中
fun
我正在尝试在Julia1.3中构建散点图,并找到了这些示例there using Plots
scatter( 1:16, sqrt.(1:16), labels="Square Root", size=[600,240] )
ERROR: LoadError: UndefVarError: scatter not defined
Stacktrace:
[1] top-level scope at /Users/...:19
[2] include at ./boot.jl:328 [inlined]
[3] include_relative(::Module, :
15分钟前下载了朱莉娅,还以为我会到处玩。
我一直在获取参数列表中的错误:语法:缺少逗号或)
using Pkg
Pkg.add("CSV")
Pkg.add("DataFrames")
Pkg.add("Plots")
using CSV
using DataFrames
using Plots
iris = CSV.read("julia/iris.csv", normalizenames = true)
histogram(
iris.sepal_length,
title = "This
for i in 1:2
if i == 2
print(x)
end
if i == 1
x = 0
end
end
UndefVarError :X未定义
为什么代码会给出错误,而不是在julia中打印0呢?
在python中,下面的代码打印0?
for i in range(2):
if i==1:
print(x)
if i==0:
x=0
所以我试图调整Julia中向量的大小,如下所示:
A = [Vector{Any}() for i in 1:6]
a, b, c, d, e, f, g, h = 3, 4, 5, 6, 7, 8, 9, 10
for tt = 1:6
a+=1
resize!(A[tt], a)
for rr = 1:a
b+=1
resize!(A[tt][rr], b)
for tt2 = 1:b
resize!(A[tt][rr][tt2], b)
end
end
end
我得到了
我在试着做个分级计划。
using Plots
using LinearAlgebra
L = 60 #size of a matrix
N = 10000 #number of loops
E = zeros(Complex{Float64},N,L) #set of eigenvalues
IPR = zeros(Complex{Float64},N,L) #indicator for marker_z
准备E& IPR
function main()
cnt = 0
for i = 1:N
cnt += 1
H = rand(Complex{F
这是可行的:
StatsPlots.@df SYN_MM_BM_df plot(
:t,
[:SYN_MM_BM_5, :SYN_MM_BM_10, :SYN_MM_BM_15, :SYN_MM_BM_30]
)
但这不是:
StatsPlots.@df SYN_MM_BM_df plot(
:t,
[Symbol(name) for name in names(SYN_MM_BM_df[2:5])]
)
Error: Cannot convert Symbol to series data for plotting
尽管:
[Symbol(name) for
我对Julia非常陌生,我只想把一个数字数组传递到一个函数中,并计算其中的零数。我不断地发现错误:
错误: UndefVarError:数组未定义
我真的不明白我做错了什么,所以我很抱歉,如果这似乎是一个简单的任务,我不能做。
function number_of_zeros(lst::array[])
count = 0
for e in lst
if e == 0
count + 1
end
end
println(count)
end
lst = [0,1,2,3,0,4]
number_of_zeros(lst)
我试图为一个函数模板定义一个宏,即一个模板,在这个模板中,您可以轻松地插入相关代码,但不希望向用户公开所有细节细节。例如,我想要这样的东西,将表达式放入一个更复杂的函数中:
macro make_complex_function(ex)
quote
function (alg,f,t,u,k)
# Add some stuff on top
condition1 = false
condition2 = false
#...
#Put in the user's code
$(esc(ex))
我想使用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")
但是我得到了错误的结果。如何正确地做到这一点?
我有一个非常简单的问题。是否可以在Julia中按需加载模块。也就是说,是否可以在实际需要时加载模块,而不是在顶层加载“解析时”。
我想到的用例场景是,我有一些代码可以使用PyPlot进行一些绘图,但是代码并不总是被执行。
目前,这意味着我在顶层有一个像using PyPlot这样的语句,它需要相当长的时间来加载。
(是的,我知道,不应该经常让朱莉娅重新开始.但无论如何,这是一个恼人的问题)
是否有一种方法可以确保只在实际需要时加载PyPlot?最简单的方法是将using PyPlot包含在实际进行绘图的函数中。
function my_plot()
using PyPlot
p
Plots是简单而强大的,但有时我希望对情节中的个别元素有更多的控制,以微调它的外观。
是否可以直接更新后端的绘图对象?
例如,对于默认的pyplot后端,我尝试了
using Plots
p = plot(sin)
p.o[:axes][1][:xaxis][:set_ticks_position]("top")
但情节并没有改变。事后打电话给p.o[:show]()也没有帮助。
换句话说:是否有一种方法可以将PyPlot接口用于最初使用Plots创建的绘图
编辑:
保存图时,对PyPlot对象的更改变得可见(也在gui中):
using Plots
using PyPlot
我试图在朱莉娅中绘制一个由两个变量组成的函数。工作起点如下(在StackOverflow中找到):
function f(z,t)
return z*t
end
z = linspace(0,5,11)
t = linspace(0,40,4)
for tval in t
plot(z, f(z, tval))
end
show()
这对我来说是对的,并且给了我我想要的东西:。
我自己的职能如下:
## needed functions ##
const gamma_0 = 6
const Ksch = 1.2
const Kver = 1.5
function Kvc(
所以,我一直在玩《朱莉娅》中的牛蝇,遇到了这个问题。
当与Geom.smooth结合使用时,不接受Int向量作为ymin和ymax的输入。
我想知道这是一个bug,是故意的,还是我做错了什么,为什么?
In [1]:
x=[-10:10]
y=[i^2 for i in -10:10]
ymin = y-10
ymax = y+10;
In [2]:
plot(x=x, y=y, ymin=ymin, ymax=ymax, Geom.smooth, Geom.ribbon)
Out[2]:
`minvalmaxval` has no method matching minvalmax
我正试图从Mathematica切换到IJulia,以便进行数据探索,我想知道是否有n个类似的方法可以用于下面的Mathematica一行程序:
ListPlot[Import["/tmp/output.tsv"], Joined -> True]
output.tsv是(X,Y)对的选项卡描述列表。
下面是一个站不住脚的尝试:
In [1]: using Gadfly; plot(readdlm("/tmp/output.tsv", '\t', Float64))
no method plot(Array{Float64,2}
下面是我的代码: using Plots
using SpecialFunctions
using QuadGK
kappa = 1
B = 1
xi = (kappa/B)^4
function correlation(x)
quadgk(q -> q * SpecialFunctions.besselj0(x*q)/(q^4 + xi), 0, 1e6)[1]/kappa
end
r = range(-20, 20, length = 1001)
plot(r, correlation(r)) 我在Bessel函数上得到一个错误。我知道这个参数就是问题所在,它的格