matplotlib画黑白相间的线
时间: 2023-07-12 18:12:23 浏览: 217
你可以使用 Matplotlib 中的 `ax.axhline` 和 `ax.axvline` 方法来画黑白相间的线。以下是一个例子:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# 设置 x 轴范围
ax.set_xlim([0, 10])
# 画黑白相间的竖线
for i in range(1, 10, 2):
ax.axvline(i, color='black', lw=2)
ax.axvline(i+1, color='white', lw=2)
plt.show()
```
这段代码会画出从 1 到 9 的竖线,相邻的两条线颜色相反。你可以通过修改 `range` 函数的参数来调整线的数量和位置,通过修改 `color` 参数来调整线的颜色。
相关问题
matplotlib画一条x=1,颜色黑白相间的线
你可以使用 Matplotlib 中的 `ax.axhline` 方法来画一条 x=1,颜色黑白相间的线。以下是一个例子:
```python
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# 设置 y 轴范围
ax.set_ylim([0, 10])
# 画黑白相间的横线
for i in range(1, 10, 2):
ax.axhline(y=i, xmin=0.05, xmax=0.95, color='black', lw=2)
ax.axhline(y=i+1, xmin=0.05, xmax=0.95, color='white', lw=2)
# 画 x=1 的竖线
ax.axvline(x=1, ymin=0.05, ymax=0.95, color='black', lw=2)
plt.show()
```
这段代码会画出从 1 到 9 的横线,相邻的两条线颜色相反,再加上一条 x=1 的竖线,颜色为黑色。你可以通过修改 `range` 函数的参数来调整线的数量和位置,通过修改 `color` 参数来调整线的颜色。同时也可以通过修改 `xmin` 和 `xmax` 参数来调整线的长度和位置。
请用python绘制一张网格图,网格由相接的黑白小格组成,网格黑白相间且黑白方格的数量大小完全相同,其x,y方向的周期都是30um
### 回答1:
可以使用Python的matplotlib库来绘制这样的网格图,示例代码如下:import matplotlib.pyplot as plt
import numpy as npplt.rcParams['figure.figsize'] = (10, 10)
x, y = np.meshgrid(np.arange(0, 30, 0.1), np.arange(0, 30, 0.1))
plt.pcolormesh(x, y, np.sin(x) * np.cos(y), cmap=plt.cm.Greys)
plt.show()
### 回答2:
你可以使用Python的matplotlib库来绘制网格图。下面是一个简单的代码示例:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一个30x30的数组,用于表示网格中的小格
grid = np.zeros((30, 30))
# 将数组中的每个元素设为0或1,以形成黑白相间的网格
for i in range(30):
for j in range(30):
if (i + j) % 2 == 0:
grid[i, j] = 1
# 创建一个黑白色彩映射
cmap = plt.cm.colors.ListedColormap(['white', 'black'])
# 绘制网格图
plt.imshow(grid, cmap=cmap, origin='lower', extent=(0, 30, 0, 30))
# 设置x和y轴的刻度
plt.xticks(np.arange(0, 31, 10))
plt.yticks(np.arange(0, 31, 10))
# 添加网格线
plt.grid(color='gray', linestyle='dashed')
# 设置图像标题和标签
plt.title('网格图')
plt.xlabel('x (um)')
plt.ylabel('y (um)')
# 显示图像
plt.show()
```
这段代码将会绘制一个30x30的网格,黑白相间且大小相等。其中,黑色方格表示1,白色方格表示0。x轴和y轴的周期均为30um。你可以根据需要修改参数,如调整网格的大小、颜色等。
### 回答3:
要绘制一张网格图,首先需要导入matplotlib库,并创建一个二维数组来表示网格。
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义网格的大小,每个小格子的宽度和高度
grid_size = 30 # um
n_cells_x = 10 # x方向上的小格子数量
n_cells_y = 10 # y方向上的小格子数量
# 创建一个二维数组来表示网格
grid = np.zeros((n_cells_x, n_cells_y))
# 按照黑白相间的规律给网格上色
for i in range(n_cells_x):
for j in range(n_cells_y):
if (i + j) % 2 == 0:
grid[i][j] = 1
# 创建一个绘图窗口
fig, ax = plt.subplots()
# 绘制网格
for i in range(n_cells_x):
for j in range(n_cells_y):
if grid[i][j] == 1:
ax.add_patch(plt.Rectangle((i * grid_size, j * grid_size), grid_size, grid_size, color='black'))
else:
ax.add_patch(plt.Rectangle((i * grid_size, j * grid_size), grid_size, grid_size, color='white'))
# 设置网格的范围
ax.set_xlim([0, n_cells_x * grid_size])
ax.set_ylim([0, n_cells_y * grid_size])
# 隐藏坐标轴
ax.axis('off')
# 显示图像
plt.show()
```
运行以上代码,即可得到一张网格图。每个小格子的大小都是30um x 30um,网格的黑白方格数量和大小完全相同,并且黑白方格交替排列。
阅读全文