gpt4 book ai didi

matplotlib - Julia : type PyObject has no field set_yscale 中的 PyPlot 错误

转载 作者:行者123 更新时间:2023-12-03 23:55:26 25 4
gpt4 key购买 nike

我在 Julia 中编程,但使用 PyPloy 库。我想绘制一个带有对数 y 轴的直方图。但是当我使用下面的代码时:

using PyPlot
List = [rand() for i = 1:100]
plt.hist(List)
plt.gca().set_yscale("log")

我收到以下错误:

type PyObject has no field set_yscale
while loading In[45], in expression starting on line 3

in getindex at /home/rm/.julia/v0.4/PyCall/src/PyCall.jl:642
in pysequence_query at /home/rm/.julia/v0.4/PyCall/src/conversions.jl:743
in pytype_query at /home/rm/.julia/v0.4/PyCall/src/conversions.jl:759
in convert at /home/rm/.julia/v0.4/PyCall/src/conversions.jl:808
in pycall at /home/rm/.julia/v0.4/PyCall/src/PyCall.jl:812
in fn at /home/rm/.julia/v0.4/PyCall/src/conversions.jl:181
in close_queued_figs at /home/rm/.julia/v0.4/PyPlot/src/PyPlot.jl:295

这是路径错误吗?如果是这样,是否有更简单的方法来使用不同的命令进行对数对数图?

提前致谢。

最佳答案

我觉得应该在文档中更突出地解释这一点,但是如果您向下滚动到 Readme for PyCall 的底部(PyPlot 使用的)它说:

Important: The biggest difference from Python is that object attributes/members are accessed with o[:attribute] rather than o.attribute, so that o.method(...) in Python is replaced by o[:method](...)

因此,正如@jverzani 提到的,在您从返回对象的 PyPlot 调用任何模块级函数之后,该对象是一个 PyObject 并且必须使用带符号的括号表示法来调用所有属性和方法。

关于matplotlib - Julia : type PyObject has no field set_yscale 中的 PyPlot 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28553722/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com