gpt4 book ai didi

matplotlib - 循环移动颜色图

转载 作者:行者123 更新时间:2023-12-05 01:02:36 25 4
gpt4 key购买 nike

有没有办法循环移位,例如hsv 颜色图以便可以更改中心颜色?它在我的身材中占据了相当大的空间,我希望它是一种不同的颜色。由于颜色图是循环的,这应该是可能的。

最佳答案

基于此 example 中使用的非线性颜色图,但用线性级别替换为移位,

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.colors import LinearSegmentedColormap

class roll_cmap(LinearSegmentedColormap):

def __init__(self, cmap, shift):

assert 0. < shift < 1.
self.cmap = cmap
self.N = cmap.N
self.monochrome = self.cmap.monochrome
self._x = np.linspace(0.0, 1.0, 255)
self._y = np.roll(np.linspace(0.0, 1.0, 255),int(255.*shift))

def __call__(self, xi, alpha=1.0, **kw):
yi = np.interp(xi, self._x, self._y)
return self.cmap(yi, alpha)


if __name__ == '__main__':

y, x = np.mgrid[0.0:3.0:100j, 0.0:5.0:100j]
H = np.sin(8*x/np.pi)

cmap = plt.cm.hsv
cmap_rolled = roll_cmap(cmap, shift=0.8)

plt.subplot(2,1,1)
plt.contourf(x, y, H, cmap=cmap)
plt.colorbar()
plt.subplot(2,1,2)
plt.contourf(x, y, H, cmap=cmap_rolled)
plt.colorbar()

plt.show()

导致以下输出,

enter image description here

关于matplotlib - 循环移动颜色图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32736503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com