我有以下python代码: import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.linspace(0, 10, 100)
X, Y = np.meshgrid(x, y, indexing='ij')
Z = np.sin(X+Y)
plt.pcolormesh(X, Y, Z)
plt.colorbar()
plt.contour(X, Y, Z, levels=[0.5, 0.75], colors=['black','cya
我试图绘制一些网格数据,地形浮雕阴影的基础上的一些潜在的海拔数据。
我在中可以找到的大多数示例只显示了对高程数据本身的阴影--而不是如何根据海拔对单独的数组进行遮挡。
我想出了下面的代码,它几乎可以完成我希望它做的事情。首先创建一个“虚拟”映像来生成带有RGBA的RGBA数组,然后将该RGBA数组传递给LightSource.shade_rgb()函数。
#load elevation data
dem = get_sample_data('jacksboro_fault_dem.npz', np_load=True)
z = dem['elevation'
请考虑这个简化的代码片段:
import numpy as np
x = np.arange(3)
y = np.arange(2)
X, Y = np.meshgrid(x,y)
我想将已经准备好的颜色值分配给每个网格单元。对于每个RGB通道,我都有与XY网格形状相同的颜色值作为归一化RGB值-因此它是3个numpy数组,每个数组由0到1个浮点数组成,表示通道值
我首先尝试了,因为它看起来是我想要的确切工具,但我不能理解颜色映射是如何完成的。
似乎颜色数组(文档中的C)映射到默认的(或手动指定的)颜色映射表上,但是我不能得到这个颜色数组中的值的逻辑和它的作用。
如果值从网格单元格值映射到
我试图精确地在python库matplotlib显示的图像网格上覆盖1像素宽线的网格。 不幸的是,我似乎无法对结果进行足够的精细控制来实现线网格与数据网格的正确对齐,如下面的代码所示。结果似乎总是很接近,但并不完全正确。 我尝试过使用imshow和pcolormesh函数,但这两种方法都遇到了问题。 imshow方法: import matplotlib.pyplot as plt
import numpy as np
size = 60
border = 5
#create test data for image and ticks location
im = np.zeros(sha
考虑在循环中绘制数据的下列代码。为了不绘制多个颜色条,在绘制新的颜色栏之前,我会删除它们。但是,我正在手动跟踪这些颜色条。是否有一种方法可以使用诸如ax[0].get_colorbar之类的方法获得对它们的引用。这样我的代码就简单多了。
import matplotlib.pyplot as plt
import numpy as np
# How to get a colorbar from an axis?
nrows = 1
ncols = 2
nstep = 5
fig, ax = plt.subplots(nrows=nrows,ncols=ncols)
cb0 = None
我在(n_y,n_x)网格上定义了数据,并将其转换为(n_y,n_x,4) np.ndarray中的颜色。我想用pcolormesh显示这些颜色。 我尝试将facecolors参数传递给pcolormesh,它不做任何事情,并使用ListedColormap将每个(y,x)单元格映射到一种颜色,但也不起作用。 下面的代码重现了我遇到的问题。 import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap
'''
Define some ar
我试图改变一个附加在散点图上的颜色条,这样颜色条的最小和最大值是数据的最小和最大值,但我希望数据以零为中心,因为我使用的是白点为零的彩色地图。这是我的例子
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 1, 61)
y = np.linspace(0, 1, 61)
C = np.linspace(-10, 50, 61)
M = np.abs(C).max() # used for vmin and vmax
fig, ax = plt.subplots(1, 1, figsize=(5,3),
我正在尝试将颜色条添加到具有极坐标投影的pcolormesh图中。如果我不指定极坐标投影,代码就能正常工作。如果指定了极轴投影,则会生成一个小图,并且没有颜色栏。是我做了什么傻事,还是这是个bug?我在Fedora 20上使用matplotlib 1.3.1。
import matplotlib.pyplot as plot
import mpl_toolkits.axes_grid1 as axes_grid1
import numpy as np
t = np.linspace(0.0, 2.0 * np.pi, 360)
r = np.linspace(0,100,200)
rg, t
我的第一个轮廓是:
figure
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = X.*exp(-X.^2-Y.^2);
contour(X,Y,Z,'LineWidth', 2)
然后我画出第二个轮廓:
hold on
x = -2:0.2:2;
y = -2:0.2:3;
[X,Y] = meshgrid(x,y);
Z = exp(-X.^2-Y.^2);
contour(X,Y,Z,'LineWidth', 2)
可见,第一轮廓的颜色发生了变化。如何保持第一轮廓颜色?
我想绘制一个二维直方图,其中包括正数和负数。我有下面的代码,它使用pcolormesh,但是我无法指定颜色级别来强制白色对应于零(也就是说,我希望我的色条在零附近是对称的)。我也试过了。
我知道您可以在plt.contour和plt.contourf中指定颜色级别,但我无法找到使用块绘制2D直方图的方法。
如有任何建议,将不胜感激。
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm as CM
fig = plt.figure()
# create an example histogra