Julia 如何一次绘制一个简单的图形
我有一些简单的代码,一次计算一个值。我想要一个随着代码运行而更新的绘图。在每次迭代中,我计算y轴的一个新值,称为avesofar。我想用这个新值在x-index I处绘制另一个点Julia 如何一次绘制一个简单的图形,julia,Julia,我有一些简单的代码,一次计算一个值。我想要一个随着代码运行而更新的绘图。在每次迭代中,我计算y轴的一个新值,称为avesofar。我想用这个新值在x-index I处绘制另一个点 using Plots function hamming4(bits1::Integer, bits2::Integer) return count_ones(bits1 ⊻ bits2) end function random_strings2(n, N) mask = UInt128(1) &l
using Plots
function hamming4(bits1::Integer, bits2::Integer)
return count_ones(bits1 ⊻ bits2)
end
function random_strings2(n, N)
mask = UInt128(1) << n - 1
return [rand(UInt128) & mask for i in 1:N]
end
function find_min(strings, n, N)
minsofar = n
for i in 1:N
for j in i+1:N
dist = hamming4(strings[i], strings[j])
if dist < minsofar
minsofar = dist
end
end
end
return minsofar
end
function ave_min(n, N)
ITER = 100
strings = random_strings2(n, N)
new_min = find_min(strings, n, N)
avesofar = new_min
# print("New min ", new_min, ". New ave ", avesofar, "\n")
total = avesofar
for i in 1:ITER-1
strings = random_strings2(n, N)
new_min = find_min(strings, n, N)
avesofar = avesofar*(i/(i+1)) + new_min/(i+1)
print("New min ", new_min, ". New ave ", avesofar, "\n")
end
return avesofar
end
N = 2^15
n = 99
print("Overall average ", ave_min(n, N), "\n")
您可以通过添加来更新绘图中的绘图!添加到函数名。因此,plotx,y将使用您的点创建初始打印,然后打印!xnew,ynew将使用新点更新最后一个绘图
因此,对于您的情况,只需添加绘图!i、 阿维索法尔在环路内。正如@przemyslaw szufel所提到的,您将使用散布/散布!如果不想用直线连接点。以下是一次绘制一个点的方法:
using Plots
pyplot()
p = Plots.scatter(; lab="")
Plots.scatter!(p, [1], [2]; lab="point 1")
Plots.scatter!(p, [3], [4]; lab="point 2")
Plots.scatter!(p, [5], [6]; lab="point 3")
密谋,密谋!用于打印线而不是点。在Plots.jl API中,与PyPlot.jl相反,更新plot需要传递plot对象请参见下面的答案。如果正在更新的plot是当前活动的plot,则不需要传递plot对象。