整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML 图像

Norwegian Mountain Trip

在线实例

插入图像

本例演示如何在网页中显示图像。

从不同的位置插入图片

本例演示如何将其他文件夹或服务器的图片显示到网页中。

(可以在本页底端找到更多实例。)

HTML 图像- 图像标签( <img>)和源属性(Src)

在 HTML 中,图像由<img> 标签定义。

<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。

要在页面上显示图像,你需要使用源属性(src)。src 指 "source"。源属性的值是图像的 URL 地址。

定义图像的语法是:

<img src="url" alt="some_text">

URL 指存储图像的位置。如果名为 "boat.gif" 的图像位于 www.w3school.com.cn 的 images 目录中,那么其 URL 为 http://www.w3school.com.cn/images/boat.gif。

浏览器将图像显示在文档中图像标签出现的地方。如果你将图像标签置于两个段落之间,那么浏览器会首先显示第一个段落,然后显示图片,最后显示第二段。

HTML 图像- Alt属性

alt 属性用来为图像定义一串预备的可替换的文本。

替换文本属性的值是用户定义的。

<img src="boat.gif" alt="Big Boat">

在浏览器无法载入图像时,替换文本属性告诉读者她们失去的信息。此时,浏览器将显示这个替代性的文本而不是图像。为页面上的图像都加上替换文本属性是个好习惯,这样有助于更好的显示信息,并且对于那些使用纯文本浏览器的人来说是非常有用的。

HTML 图像- 设置图像的高度与宽度

height(高度) 与 width(宽度)属性用于设置图像的高度与宽度。

属性值默认单位为像素:

<img src="pulpit.jpg" alt="Pulpit rock" width="304" height="228">

提示: 指定图像的高度和宽度的一个很好的习惯。如果图像指定了高度宽度,页面加载时就会保留指定的尺寸。如果没有指定图片的大小,加载页面时有可能会破坏HTML页面的整体布局。

基本的注意事项 - 有用的提示:

注意: 假如某个 HTML 文件包含十个图像,那么为了正确显示这个页面,需要加载 11 个文件。加载图片是需要时间的,所以我们的建议是:慎用图片。

注意: 加载页面时,要注意插入页面图像的路径,如果不能正确设置图像的位置,浏览器无法加载图片,图像标签就会显示一个破碎的图片。

更多实例

排列图片

本例演示如何在文字中排列图像。

浮动图像

本例演示如何使图片浮动至段落的左边或右边。

设置图像链接

本例演示如何将图像作为一个链接使用。

创建图像映射

本例显示如何创建带有可供点击区域的图像地图。其中的每个区域都是一个超级链接。

HTML 图像标签

标签描述
<img>定义图像
<map>定义图像地图
<area>定义图像地图中的可点击区域

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!

者:俊欣

来源:关于数据分析与可视化

今天小编来为大家介绍一个叫做Folium的模块,我们可以用它来绘制高清的交互式地图,并且标注出重要的地理位置等等,读者在看过本篇文章之后,读者大致会掌握

1. 使用Folium来进行交互式地图的绘制

2. 在地图上标注出重要的建筑物

01、安装模块

pip install folium

02、画一张最简单的地图

我们先来绘制一张简单的地图,以上海为例,上海的经纬度(31.2304, 121.4737)为例,并且我们可以自行设置缩放级别,代码如下

shanghai = folium.Map(location=[31.2304, 121.4737],
                      tiles='openstreetmap', zoom_start=12) # 缩放等级

出来的结果如下图所示,为了更加清晰的区域,我们可以简单地增加缩放级别,通过点击“+”或者“-”号在图的周围增加或者减少缩放,当然我们也可以双击地图进一步放大

当然我们也可以保存成html的格式

shanghai.save("test.html")

当然我们也可以设置地图的纹理样式,上述中的代码,地图的纹理样式默认的是“OpenStreetMap”,在这基础之上,我们也可以将其他几种纹理样式给添加上去,如“Stamen Terrain”样式、“Stamen Toner”样式以及“Mapbox Bright”样式等等,代码如下

shanghai = folium.Map(location=[31.2304, 121.4737],
                       tiles='openstreetmap', zoom_start=12)


folium.raster_layers.TileLayer('Open Street Map').add_to(shanghai)


folium.raster_layers.TileLayer('Stamen Terrain').add_to(shanghai)


folium.raster_layers.TileLayer('Stamen Toner').add_to(shanghai)


folium.raster_layers.TileLayer('Stamen Watercolor').add_to(shanghai)


folium.LayerControl().add_to(shanghai)

出来的结果如下图所示,大家可以根据自己的审美酌情选择

03、在地图上做标记

我们同时也可以在地图上做标记,比如标出一些标志性建筑等等,例如上海的话,就像是我们所熟知的“东方明珠塔”、“上海博物馆”等地,我们根据这些标志性建筑的经纬度来打上标记,代码如下

shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',
                      zoom_start=12)


folium.Marker([31.2397, 121.4998], popup = '<i>东方明珠塔</i>',
              icon=folium.Icon(icon="cloud"),).add_to(shanghai)


folium.Marker([31.2343, 121.5079], popup = '<i>上海环球金融中心</i>',
              icon=folium.Icon(color="red", icon="info-sign"),).add_to(shanghai)


folium.Marker([31.1922, 121.3343], popup = '<i>上海虹桥机场</i>',
              icon=folium.Icon(color="green"),).add_to(shanghai)


folium.Marker([31.2283, 121.4755], popup = '<i>上海博物馆</i>',
              icon=folium.Icon(color="purple"),).add_to(shanghai)


shanghai

出来的结果如下图所示

当然我们还可以在地图上画圈圈,例如圈出上海市中心相对繁华的地方,

shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',
                      zoom_start=12)
folium.Circle(location = [31.2297, 121.4762], radius = 900,
              color = "purple").add_to(shanghai)
shanghai

我们也可以把圈出来的区域填充上颜色,

shanghai = folium.Map(location=[31.2304, 121.4737], tiles='openstreetmap',
                      zoom_start=12)
folium.Circle(location = [31.2297, 121.4762], radius = 900,
              color = "purple", fill = True, fill_color = "yellow").add_to(shanghai)
shanghai

Folium另外还有很多精致的地图可视化效果,感兴趣的童鞋可以通过阅读其官方文档来进行了解。

到使用Python进行地理坐标可视化那就一定少不了Pyecharts的身影,本文就对Pyecharts可以制作的四种地图进行简单的评析。

Pyecharts—Map

首先介绍的是Pyecharts中使用最多的Map(),核心代码仅四行即可生成全国地图,来看下官方Demo

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker
c = (
    Map()
    .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
    .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
    .render("map_base.html")
)

我们看下中间四行代码究竟做了什么:

  • .Map()创建了一个地图实例
  • .add()添加了数据,实际上zip()中就是两个list,一个是省份名称另一个是对应的数据
  • .set_global_opts()添加了标题
  • .render()将生成的地图以html格式保存

所以这个最简单的地图长这样

告诉我你对这张地图的第一感觉,除了丑就是不协调,主要就是因为下面三点:

  • 顶部的图例,怎么看怎么不爽
  • 有数据省份的红点,怎么看怎么不爽
  • 就在地图上给有数据的省份打了几个点,怎么看怎么不爽

所以我在使用Map()的时候一般会对上面三点进行调整,还是一样的数据,代码可以这么写

c = (
    Map()
    .add("", [list(z) for z in zip(Faker.provinces, Faker.values())], "china",is_map_symbol_show=False,)
    .set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"), visualmap_opts=opts.VisualMapOpts())
    .render_notebook()
)

这样看已经比刚开始的样子好了很多,虽然可以看出不同省份之间的差异,但是还是有一点让人不爽的就是大部分省份是没有值的,要是全国都有值就更好了

所以Pyecharts中的Map更应该适合能将地图填满的数据,这样才能让图看上去更丰富,如果只有地图中小部分省市的数据还是来个柱状图更直观!


Pyecharts—Geo

我们先来看看Geo绘制出来的地图长啥样,还是刚刚的数据,代码也并不复杂

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
from pyecharts.globals import ChartType
c = (
    Geo()
    .add_schema(maptype="china")
    .add(
        "",
        [list(z) for z in zip(Faker.provinces, Faker.values())],
        type_=ChartType.HEATMAP,
    )
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        visualmap_opts=opts.VisualMapOpts(),
        title_opts=opts.TitleOpts(title="Geo-热力地图"),
    )
)
c.render_notebook()

可以看到,Geo绘制出来的地图不会显示省份/城市的名字,并且用热力图的方式让数据差异更直观,而这恰好解决了Map不适用与小部分数据的短板。所以当数据量不是很多的时候又想绘制地图就可以考虑使用Geo并通过热力图的方法来展示。当然Geo还支持不同样式动态的流向地图(制作可以查阅相关文档)

Pyecharts—Bmap

Bmap就是百度地图,也是我经常用的一种。Pyecharts可以调用百度地图的接口来让地图更加丰富,比如还是之前的数据,我们使用Bmap来制作

正如上图展示的,使用Bmap绘制出来的地图更接近我们平时使用的地图,并支持缩放来查看更多细节而更加真实,不过使用Bmap之前需要去百度地图开放平台申请一个API KEY才能使用。

Pyecharts—Map3D

上面三种地图都是2D的图形,Pyecharts也支持创建3d地图,比如下面的代码就能在3D地图上以柱状图来展示数据

可以看到,3D地图会让数据更加立体的展示出来,不过虽然炫酷,但是要整理经纬度数据等需要消耗太多的时间,而且代码调整起来也比之前几种地图更加复杂,所以我并不是经常使用,偶尔花点时间用来点缀PPT也是可以的!

结束语

以上就是对Pyecharts可以制作四种地理图表的一个简单总结,我想你应该明白它们的区别并能在制作地图时选择合适的那一个,不过制作可视化地图并不只有Pyecharts,还需要根据自己的数据与环境选择合适的工具!