简体   繁体   English

Python 上的轮廓图。 类型错误:输入 z 必须是二维数组

[英]Contour plot on Python. TypeError: Input z must be a 2D array

I am trying to contour plot this equation (z) but complier gives me "TypeError: Input z must be a 2D array."我正在尝试绘制这个方程 (z) 的等高线图,但编译器给了我“类型错误:输入 z 必须是二维数组。” error I have tried different methods but it still gives the same error错误我尝试了不同的方法,但它仍然给出相同的错误

import matplotlib

import numpy as np

import matplotlib.cm as cm

import matplotlib.pyplot as plt

import math

fig = plt.figure()

ax = fig.add_subplot(111)

a = np.linspace(-6,6,100)

X , Y = np.meshgrid(a,a)

v = 1

a = 1

g1 = 2 * math.pi

g2 = -g1

z =  v * y - v *y *(a**2 / (x**2 + (y- 2*a )**2))  + (g1 / 4 * (math.pi)*(np.log((x**2 +(y-2*a)**2) / a))) -  v * y *(a**2 /(x**2+(y+2*a)**2)) + (g2 / 4*(math.pi)*(np.log((x**2+(y+2*a)**2))) / a)

ax.contourf(X,Y,z)

Renaming all upper case X and Y to lower case x and y creates this picture:将所有大写的XY重命名为小写的xy创建此图片:

在此处输入图片说明

You probably work in a Notebook and use other values for x and y , ie scalars.您可能在 Notebook 中工作并对xy使用其他值,即标量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM