用plotly express 画出一个仓库储区图
时间: 2024-05-17 21:17:10 浏览: 15
首先需要导入`plotly.express`和`pandas`库,并准备好仓库储区的数据。为了演示方便,我这里创建了一个简单的数据表,包含储位编号、横坐标、纵坐标和物品种类四列:
```python
import pandas as pd
import plotly.express as px
data = pd.DataFrame({
'储位编号': ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3'],
'x': [1, 2, 3, 1, 2, 3, 1, 2, 3],
'y': [1, 1, 1, 2, 2, 2, 3, 3, 3],
'物品种类': ['商品A', '商品B', '商品C', '商品A', '商品B', '商品C', '商品A', '商品B', '商品C']
})
```
接下来可以使用`scatter`函数绘制散点图,并设置`hover_name`参数为储位编号,`size`参数为物品种类,在鼠标悬停时可以显示对应的信息:
```python
fig = px.scatter(data, x='x', y='y', color='物品种类', size='物品种类', hover_name='储位编号')
fig.update_layout(title='仓库储位图')
fig.show()
```
运行代码后,就可以得到一个简单的仓库储位图,如下所示:
![仓库储位图](https://i.imgur.com/3UUEj8c.png)
相关问题
用plotly express 画出一个仓库储区图,仓库长20 宽20,有126个储位,每排有18个储位,每两列间有一个过道宽度为1
可以使用plotly express中的scatter函数来画出仓库储区图。具体步骤如下:
1. 导入plotly express库和pandas库
```python
import plotly.express as px
import pandas as pd
```
2. 创建储位数据
```python
data = []
row_num = 7
col_num = 18
aisle_width = 1
for row in range(row_num):
for col in range(col_num):
x = col + (col // 2) * aisle_width
y = row
data.append({"x": x, "y": y})
df = pd.DataFrame(data)
```
3. 画出仓库储区图
```python
fig = px.scatter(df, x="x", y="y")
fig.update_layout(
xaxis=dict(range=[-1, col_num + aisle_width // 2]),
yaxis=dict(range=[-1, row_num]),
width=600,
height=400,
margin=dict(l=20, r=20, t=20, b=20),
template="simple_white"
)
fig.show()
```
完整代码如下:
```python
import plotly.express as px
import pandas as pd
data = []
row_num = 7
col_num = 18
aisle_width = 1
for row in range(row_num):
for col in range(col_num):
x = col + (col // 2) * aisle_width
y = row
data.append({"x": x, "y": y})
df = pd.DataFrame(data)
fig = px.scatter(df, x="x", y="y")
fig.update_layout(
xaxis=dict(range=[-1, col_num + aisle_width // 2]),
yaxis=dict(range=[-1, row_num]),
width=600,
height=400,
margin=dict(l=20, r=20, t=20, b=20),
template="simple_white"
)
fig.show()
```
这样就可以得到一个储位图了,其中每排有18个储位,每两列间有一个过道宽度为1。可以根据需要调整row_num、col_num、aisle_width参数来适应实际情况。
利用plotly.express生成一个仓储布局的散点图,
以下是一个Python代码示例,使用Plotly Express生成一个仓储布局的散点图:
```python
import plotly.express as px
import pandas as pd
# 设置仓库大小和货架数量
n_rows = 5
n_cols = 4
# 生成货位坐标
coordinates = [(i, j) for i in range(1, n_rows + 1) for j in range(1, n_cols + 1)]
# 生成货位编号
labels = [f'({i},{j})' for i in range(1, n_rows + 1) for j in range(1, n_cols + 1)]
# 生成数据框
df = pd.DataFrame({'x': [c[1] for c in coordinates],
'y': [c[0] for c in coordinates],
'label': labels})
# 创建仓库布局图
fig = px.scatter(df, x='x', y='y', color='label')
# 隐藏坐标轴
fig.update_layout(xaxis=dict(showgrid=False, zeroline=False, visible=False),
yaxis=dict(showgrid=False, zeroline=False, visible=False))
# 设置仓库大小
fig.update_xaxes(range=[0, n_cols+1])
fig.update_yaxes(range=[0, n_rows+1])
# 显示仓库布局图
fig.show()
```
这段代码会生成一个仓储布局的散点图,其中每个散点代表一个货位,横坐标表示货架编号,纵坐标表示行号,颜色表示货位编号。