【问题标题】:Getting the correct axes label in imshow in python在 python 的 imshow 中获取正确的轴标签
【发布时间】:2016-10-13 14:28:02
【问题描述】:

我正在使用以下代码生成一些等高线图,

from pylab import meshgrid,cm,imshow,contour,clabel,colorbar,axis,title,show
import numpy as np
from numpy import exp,arange
import matplotlib.pyplot as plt

def z_func(x,y):
    func = 3.0*(1.0 - x)**2*np.exp(-x**2 - (y+1.0)**2) - 10.0*(x/5.0 - x**3 - y**5)*np.exp(-x**2 - y**2) - 0.33*np.exp(-(x + 1.0)**2 - y**2)
    return func


x = arange(-4.0,4.0,0.1)
y = arange(-4.0,4.0,0.1)
X,Y = meshgrid(x, y) # grid of point
Z = z_func(X, Y)

fig = plt.figure(figsize=(10,6))
im = imshow(Z,cmap=cm.RdBu) # drawing the function
# adding the Contour lines with labels
cset = contour(Z,arange(-1,1.5,0.2),linewidths=2,cmap=cm.Set2)
clabel(cset,inline=True,fmt='%1.1f',fontsize=10)
colorbar(im) # adding the colobar on the right
# latex fashion title
title('peaks function')
show()

我从 StackExchange 上的某个地方偷了它。我很难让 x 和 y 轴显示正确的域 [-4,4]。已经发布了许多对我不起作用的解决方案,例如Change values on matplotlib imshow() graph axiscorrecting the axes using imshow,但既不能保持图像原样,也不能重新标记轴。救命!!!

【问题讨论】:

  • 此代码无效。您只想为 imshow 设置轴限制吗?
  • 代码对我有用。我忘记了我的进口......让我现在输入。我希望轴反映我的输入变量的实际界限 [-4,4]

标签: python matplotlib imshow


【解决方案1】:

试试这个代码,你必须像我一样在 contourimshow 两个函数中设置限制:

import matplotlib.pylab as plt
import numpy as np

x = np.arange(-4.0,4.0,0.1)
y = np.arange(-4.0,4.0,0.1)
X,Y = np.meshgrid(x, y) # grid of point
Z = X**2. * np.sin(Y)

fig = plt.figure(figsize=(10,6))
im = plt.imshow(Z,cmap=plt.cm.RdBu, extent=(-4,4,-4,4)) # drawing the function
# adding the Contour lines with labels
cset = plt.contour(Z,np.arange(-1,1.5,0.2),linewidths=2,cmap=plt.cm.Set2, extent=(-4,4,-4,4))
plt.clabel(cset,inline=True,fmt='%1.1f',fontsize=10)
plt.colorbar(im) # adding the colobar on the right
# latex fashion title
plt.title('peaks function')
plt.show()

您的代码中存在问题:Z 必须是二维数组,但 z_fun_optimization(x) 只能得到一个参数。

【讨论】:

  • 剪切和粘贴错误。我的错:-0。更新的代码在那里。这虽然做到了!我也忘记在轮廓参数中输入extent 参数。谢谢!
猜你喜欢
  • 1970-01-01
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多