相关疑难解决方法(0)

来自plt.subplots()的轴是一个"numpy.ndarray"对象,没有属性"plot"

如果您尝试了解错误消息,则以下信息可能是多余的.请阅读开始的答案@ user707650.

使用MatPlotLib,我想要一个可推广的脚本,它可以从我的数据中创建以下内容.

含有窗口一个布置副区,以便有b每列副区.我希望能够改变ab的值.

如果我有用于数据2a中副区,我想2窗口,每个窗口与先前描述的" 一个根据布置副区b每列次要情节".

我正在绘制的x和y数据是存储在np.arrays中的浮点数,结构如下:

  • 对于所有图,x数据始终相同,长度为5.

     'x_vector': [0.000, 0.005, 0.010, 0.020, 0.030, 0.040]
    
    Run Code Online (Sandbox Code Playgroud)
  • 所有图的y数据都存储在y_vector中,其中第一个图的数据存储在索引0到5中.第二个图的数据存储在索引6到11中.第三个图得到12-18,第四个图得到-24,依此类推.

总的来说,对于这个数据集,我有91个图(即91*6 = 546个值存储在y_vector中).

尝试:

import matplotlib.pyplot as plt

# Options:
plots_tot = 14 # Total number of plots. In reality there is going to be 7*13 = 91 plots.
location_of_ydata = 6 # The values for the n:th plot can be found in the y_vector …
Run Code Online (Sandbox Code Playgroud)

numpy matplotlib multidimensional-array python-2.7 subplot

19
推荐指数
2
解决办法
4万
查看次数

了解matplotlib.subplots python

我已经构建了一组饼图,其中有一些帮助将图像插入饼图切片 我的图表看起来很精彩,现在我需要将它们中的所有6个放在一个2x3图中,在共享的x和y轴上有共同的刻度线.为了开始,我正在看子图,并认为我可以让它工作.我下载了一些例子并开始尝试一些事情.

    f, (a) = (plt.subplots(nrows=1, ncols=1, sharex=True, sharey=True))#,
                 #squeeze=False, subplot_kw=None, gridspec_kw=None))
    print(type(f),'\n',type(a),'\n')#,type(b))
Run Code Online (Sandbox Code Playgroud)

收益率:

class'matplotlib.figure.Figure'

class'matplotlib.axes._subplots.AxesSubplot'

而:

    f, (a) = (plt.subplots(nrows=1, ncols=1, sharex=True, sharey=True, squeeze=False, subplot_kw=None, gridspec_kw=None))
    print(type(f),'\n',type(a),'\n')#,type(b))
Run Code Online (Sandbox Code Playgroud)

收益:

class'matplotlib.figure.Figure'

'numpy.ndarray'

当我这样做:

f, (a,b) = (plt.subplots(nrows=2, ncols=1, sharex=True, sharey=True, squeeze=False, subplot_kw=None, gridspec_kw=None))
    print(type(f),'\n',type(a),'\n',type(b))
Run Code Online (Sandbox Code Playgroud)

我得到了类似的结果,但是如果nrows = 1且ncols = 2我得到一个错误:

    f, (a,b) = (plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True, squeeze=False, subplot_kw=None, gridspec_kw=None))
    print(type(f),'\n',type(a),'\n',type(b))
Run Code Online (Sandbox Code Playgroud)

ValueError:没有足够的值来解包(预期2,得1)

但是这个:

    f, (a , b) = (
    plt.subplots(nrows=1, ncols=2, sharex=True, sharey=True))#,
                 #squeeze=False, subplot_kw=None, gridspec_kw=None))
    print(type(f),'\n',type(a),'\n',type(b))
Run Code Online (Sandbox Code Playgroud)

给出'matplotlib.figure.Figure'类

class'matplotlib.axes._subplots.AxesSubplot'

class'matplotlib.axes._subplots.AxesSubplot'

为什么它或阵列或轴,以及为什么2X1工作和1X2不工作?我希望天堂高,我可以更好地理解文档.谢谢.

python plot numpy matplotlib

6
推荐指数
1
解决办法
3488
查看次数