把标题放在图像上面且三张图像能放一行显示
时间: 2023-12-06 12:05:45 浏览: 115
01-HTML语法 (1).txt
您可以使用IPython.display中的display和HTML函数来在JupyterLab中同时显示多个图片和标题,并使用CSS样式来控制它们的排列方式。下面是一个示例代码:
```python
from IPython.display import display, HTML
from PIL import Image
# 图像文件名列表和标题列表
file_names = ['image1.jpg', 'image2.jpg', 'image3.jpg']
titles = ['Image 1', 'Image 2', 'Image 3']
# 创建HTML字符串,包含所有图像的<img>标签和标题
img_tags = ''
for file_name, title in zip(file_names, titles):
img_tags += '<div style="display: inline-block; text-align: center; margin-right: 20px">' \
'<img src="{}" style="width: 300px"><br><span>{}</span></div>'.format(file_name, title)
# 在JupyterLab中显示所有图像和标题
display(HTML('<div style="display: flex; flex-wrap: wrap; justify-content: center">' + img_tags + '</div>'))
```
这个示例代码假设您已经将三张图片保存在'image1.jpg','image2.jpg'和'image3.jpg'文件中,且这些文件位于您的Python代码文件的同一目录下。我们首先定义了一个包含图像文件名和标题的两个列表`file_names`和`titles`。然后,我们使用循环创建一个包含所有图像和标题的HTML字符串,其中每个图像都是一个`<img>`标签和一个标题。我们将每个图像和标题的容器设置为`<div>`标签,并将它们的显示方式设置为`inline-block`,这样它们就可以横向排列。我们使用`text-align`属性将标题居中对齐,使用`margin-right`属性为每个图像和标题的容器添加右边距,使它们之间有一定的间隔。最后,我们使用CSS样式将所有图像和标题的容器包装在一个`<div>`标签中,并使用`display: flex`和`justify-content: center`属性将它们水平居中对齐,并使用`flex-wrap: wrap`属性使它们在一行中自动换行。最终,我们使用`display`和`HTML`函数将HTML字符串显示在JupyterLab中。
阅读全文