Julia使用PyPlot绘图报错,咨询plot(x,y,".")作用及GitError原因
Julia代码问题解答
1. plot(x,y,".")的作用
该plot是PyPlot包提供的绘图函数,功能和Python中matplotlib.pyplot.plot完全一致:
- 第一个参数
x是所有采样点的x轴坐标数组 - 第二个参数
y是所有采样点的y轴坐标数组 - 第三个参数
"."是格式控制符,代表绘制散点图,每个点用小圆点标记,不会用线条连接相邻点。
这行代码的效果就是把前面生成的螺旋轨迹上的5000个采样点,以圆点散点的形式绘制出来。
2. GitError报错原因与解决方案
报错原因
- 你当前使用的在线Julia环境网络无法访问GitHub,Julia 0.6版本的包管理器安装第三方包时,需要先从GitHub克隆官方包元数据仓库,网络不通就会触发该报错。
- 你的代码本身也存在顺序错误:
Pkg是Julia内置的包管理器模块,不需要额外安装,且必须先执行using Pkg导入模块后,才能调用Pkg.add方法,你原代码第一行就调用Pkg.add("Pkg"),哪怕网络正常也会报错。
解决方案
- 优先选择已经预装了
PyPlot包的在线Julia运行环境,删除所有包安装相关的代码,仅保留如下代码即可运行:
using PyPlot S=5000 # number of points on the spiral x=zeros(S); y=zeros(S) for s=1:S theta=50*2*pi*s/S; r=s/S x[s]=r*cos(theta); y[s]=r*sin(theta) end plot(x,y,".")
- 如果在本地运行,只要网络可以正常访问GitHub,调整代码顺序后即可正常执行:
using Pkg Pkg.add("PyPlot") using PyPlot S=5000 # number of points on the spiral x=zeros(S); y=zeros(S) for s=1:S theta=50*2*pi*s/S; r=s/S x[s]=r*cos(theta); y[s]=r*sin(theta) end plot(x,y,".")
内容的提问来源于stack exchange,提问作者Slim Shady
相关产品推荐
相关产品推荐

