1 回答

TA貢獻1788條經(jīng)驗 獲得超4個贊
我認為您只需要調(diào)整要插值的矩陣,使該矩陣中的梯度指向右上角:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ticks = ["Low", "Moderate", "High"]
plt.xlabel(r"x $\longrightarrow$", fontsize=14)
plt.ylabel(r"y $\longrightarrow$", fontsize=14)
plotlim = plt.xlim() + plt.ylim()
print(plotlim)
ax.imshow([[0.5, 0.5, 0.5], [0, 0.5, 0.5], [0, 0, 0.5]],
cmap=plt.cm.Reds,
interpolation='bicubic',
extent=plotlim, vmin=0, vmax=1)
plt.xticks(np.arange(len(ticks)) / 2, ticks, fontsize=14)
plt.yticks(np.arange(len(ticks)) / 2,
ticks,
rotation='90',
ha='center',
fontsize=14)
fig.savefig("test.png")
這給出了以下圖片:
編輯:
您還可以在不進行插值的情況下構(gòu)建漸變以獲得漂亮的圓形漸變:
x = np.linspace(0, 1, 256)
y = np.linspace(1, 0, 256)
xArray, yArray = np.meshgrid(x, y)
plotArray = np.sqrt(xArray**2 + yArray**2)
fig = plt.figure()
ax = fig.add_subplot(111)
ax.imshow(plotArray,
cmap=plt.cm.Reds,
vmin=0,
vmax=1)
添加回答
舉報