Matplotlib黑白色彩地图
参考:matplotlib black and white colormap
在数据可视化领域,选择合适的色彩地图对于展示数据以及传达信息非常重要。在某些情况下,我们可能需要使用黑白色彩地图来避免混淆或者在打印时节省墨水。Matplotlib提供了许多黑白色彩地图供我们选择。本文将介绍如何在Matplotlib中使用黑白色彩地图以及展示各种类型的图表。
1. 导入必要的库
在使用Matplotlib之前,我们首先需要导入必要的库。
import numpy as np
import matplotlib.pyplot as plt
2. 使用黑白色彩地图绘制散点图
我们可以使用不同的黑白色彩地图来绘制散点图,以下是一个简单的示例代码:
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='Greys')
plt.colorbar()
plt.show()
Output:
3. 使用黑白色彩地图绘制柱状图
黑白色彩地图也可以用于绘制柱状图,以下是一个示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(10)
y = np.random.randint(1, 10, size=10)
plt.bar(x, y, color='gray')
plt.show()
Output:
4. 使用黑白色彩地图绘制线图
黑白色彩地图也适用于绘制线图,以下是一个示例代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y = np.sin(x)
plt.plot(x, y, color='black')
plt.show()
Output:
5. 使用不同的黑白色彩地图
除了Greys
外,Matplotlib还提供了其他不同的黑白色彩地图供我们选择。以下是一个示例代码展示不同的黑白色彩地图:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.plot(x, y, c='k', label='default')
plt.plot(x, y + 1, c='k', cmap='binary', label='binary')
plt.plot(x, y + 2, c='k', cmap='gray', label='gray')
plt.plot(x, y + 3, c='k', cmap='bone', label='bone')
plt.plot(x, y + 4, c='k', cmap='gist_yarg', label='gist_yarg')
plt.plot(x, y + 5, c='k', cmap='binary_r', label='binary_r')
plt.legend()
plt.show()
在以上示例中,我们展示了binary
, gray
, bone
, gist_yarg
以及binary_r
这些不同的黑白色彩地图。
6. 使用自定义黑白色彩地图
除了Matplotlib自带的黑白色彩地图外,我们还可以自定义黑白色彩地图。以下是一个示例代码:
from matplotlib.colors import LinearSegmentedColormap
import numpy as np
import matplotlib.pyplot as plt
cmap = LinearSegmentedColormap.from_list('custom', ['black', 'white'])
x = np.linspace(0, 10, 100)
y = np.sin(x)
plt.scatter(x, y, c=y, cmap=cmap)
plt.colorbar()
plt.show()
7. 绘制等高线图
黑白色彩地图也可以用于绘制等高线图,以下是一个示例代码:
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='Greys')
plt.colorbar()
plt.show()
Output:
8. 绘制3D图
黑白色彩地图也可以应用于绘制3D图,以下是一个简单示例代码:
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
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))
ax.plot_surface(X, Y, Z, cmap='Greys')
plt.show()
9. 结语
本文介绍了如何在Matplotlib中使用黑白色彩地图以及展示各种类型的图表。通过选择合适的黑白色彩地图,我们可以更好地展示数据,并在需要时节省墨水。