magma colormap
在数据可视化中,颜色映射(colormap)是非常重要的一部分,它能够将数据值映射到色彩空间中,帮助我们更直观地理解数据。而magma colormap就是一种非常独特且美丽的颜色映射方案,它常被用于可视化科学数据和研究领域。
简介
magma colormap是由Nathaniel J. Smith 和 Stefan van der Walt等人设计的一种颜色映射方案,旨在提供一种在灰度和彩色之间平衡的取色方案。magma colormap从黑色渐变到暖色再到亮黄色,颜色过渡自然,有很好的可读性,尤其适合表现温度和高度等数据。
下面我们将通过示例代码来展示如何在Python中使用magma colormap进行数据可视化。
示例代码1:绘制简单的热度图
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(10, 10)
plt.imshow(data, cmap='magma')
plt.colorbar()
plt.show()
Output:
示例代码2:调整颜色映射范围
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(10, 10)
plt.imshow(data, cmap='magma', vmin=0.2, vmax=0.8)
plt.colorbar()
plt.show()
Output:
在Matplotlib中使用magma colormap
在Matplotlib中,我们可以很方便地使用magma colormap来对数据进行可视化,只需要在调用相应函数时指定cmap='magma'
即可。
示例代码3:绘制散点图
import numpy as np
import matplotlib.pyplot as plt
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
plt.scatter(x, y, c=colors, cmap='magma')
plt.colorbar()
plt.show()
Output:
示例代码4:绘制3D图形
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
surf = ax.plot_surface(X, Y, Z, cmap='magma')
fig.colorbar(surf)
plt.show()
Output:
示例代码5:绘制等高线图
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-5, 5, 100)
y = np.linspace(-5, 5, 100)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
plt.contourf(X, Y, Z, cmap='magma')
plt.colorbar()
plt.show()
Output:
自定义Colormap
除了直接使用magma colormap外,我们还可以根据需要自定义颜色映射方案。
示例代码6:自定义颜色映射
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap
colors = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1)] # 黑->红->黄->白
cmap_name = 'my_custom_colormap'
cm = LinearSegmentedColormap.from_list(cmap_name, colors, N=256)
plt.imshow(np.linspace(0, 1, 256).reshape(1, -1), cmap=cm)
plt.xticks([])
plt.yticks([])
plt.show()
Output:
示例代码7:应用自定义颜色映射
import numpy as np
import matplotlib.pyplot as plt
data = np.random.rand(10, 10)
colors = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (1, 1, 1)] # 黑->红->黄->白
cmap_name = 'my_custom_colormap'
cm = LinearSegmentedColormap.from_list(cmap_name, colors, N=256)
plt.imshow(data, cmap=cm)
plt.colorbar()
plt.show()
结语
通过以上示例代码,我们了解了如何在Python中使用magma colormap进行数据可视化,以及如何自定义颜色映射方案。