pyplot 描绘了颜色条的范围
pyplot depicted range of colorbar
我在 python 中创建 contourf-plot 和设置颜色条的限制时遇到问题。
到目前为止,我已将它们设置为颜色缩放正确,但只描绘了使用的部分。
我的代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("./somefancyasciifile")
xAxisScale = np.linspace(0.0, 80, len(data[0,:]))
yAxisScale = np.linspace(0.0, 80, len(data[0,:]))
fig = plt.figure(figsize = (16, 9), dpi = 100)
ax = fig.add_subplot(111 )
image = ax.contourf(xAxisScale, yAxisScale, data, 51,vmax = 1.0, vmin = 0.0)
colorbar = fig.colorbar(image, ticks = [0.0, 0.5, 1.0])
plt.show()
默认色阶已正确调整,深蓝色为 0.0,红色为 1.0。我的最小值大约是 0.45,最大值略低于 1.0。即使颜色按照我的意愿进行了正确调整,颜色条本身的范围也只是从我的最小值到最大值。但是我希望条形图显示从 0.0 到 1.0 的整个范围以及相应的颜色。
这是因为您正在设置 N = 51
,它会覆盖 vmin
和 vmax
,以仅根据输入数组绘制 51 个等高线。另一种方法是将级别设置为从 0 到 1 的整个范围:使用 levels
关键字:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(10,10)*0.6+0.4 # data ranging from 0.4 to 1
xAxisScale = np.linspace(0.0, 80, len(data[0,:]))
yAxisScale = np.linspace(0.0, 80, len(data[0,:]))
fig = plt.figure(figsize = (16, 9), dpi = 100)
ax = fig.add_subplot(111 )
image = ax.contourf(xAxisScale, yAxisScale, data,levels=np.arange(0,1.01,0.01),vmin = 0.0,vmax=1.0)
colorbar = fig.colorbar(image, ticks = [0.0, 0.5, 1.0])
plt.show()
我在 python 中创建 contourf-plot 和设置颜色条的限制时遇到问题。
到目前为止,我已将它们设置为颜色缩放正确,但只描绘了使用的部分。
我的代码如下所示:
import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt("./somefancyasciifile")
xAxisScale = np.linspace(0.0, 80, len(data[0,:]))
yAxisScale = np.linspace(0.0, 80, len(data[0,:]))
fig = plt.figure(figsize = (16, 9), dpi = 100)
ax = fig.add_subplot(111 )
image = ax.contourf(xAxisScale, yAxisScale, data, 51,vmax = 1.0, vmin = 0.0)
colorbar = fig.colorbar(image, ticks = [0.0, 0.5, 1.0])
plt.show()
默认色阶已正确调整,深蓝色为 0.0,红色为 1.0。我的最小值大约是 0.45,最大值略低于 1.0。即使颜色按照我的意愿进行了正确调整,颜色条本身的范围也只是从我的最小值到最大值。但是我希望条形图显示从 0.0 到 1.0 的整个范围以及相应的颜色。
这是因为您正在设置 N = 51
,它会覆盖 vmin
和 vmax
,以仅根据输入数组绘制 51 个等高线。另一种方法是将级别设置为从 0 到 1 的整个范围:使用 levels
关键字:
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(10,10)*0.6+0.4 # data ranging from 0.4 to 1
xAxisScale = np.linspace(0.0, 80, len(data[0,:]))
yAxisScale = np.linspace(0.0, 80, len(data[0,:]))
fig = plt.figure(figsize = (16, 9), dpi = 100)
ax = fig.add_subplot(111 )
image = ax.contourf(xAxisScale, yAxisScale, data,levels=np.arange(0,1.01,0.01),vmin = 0.0,vmax=1.0)
colorbar = fig.colorbar(image, ticks = [0.0, 0.5, 1.0])
plt.show()