Pyecharts3D图:常见的3D图

本文详细介绍了如何使用Pyecharts库绘制常见的3D图形,包括柱状图(穿孔卡片、堆叠)、折线图(自转、正交投影)、散点图、曲面图以及结合3D地图的各种表现形式,如大陆+折线、散点和柱状图。通过实例代码,读者可以快速上手并理解3D图在数据可视化中的应用。

Pyecharts3D图:常见的3D图



前言

本文主要展示Pyecharts画常见的3D图。


一、3D柱状图

1. 穿孔卡片

import pyecharts.options as opts
from pyecharts.charts import Bar3D

"""
Gallery 使用 pyecharts 1.1.0
参考地址: https://echarts.apache.org/examples/editor.html?c=bar3d-punch-card&gl=1

目前无法实现的功能:

1、光照和阴影暂时无法设置
"""

hours = [
    "12a",
    "1a",
    "2a",
    "3a",
    "4a",
    "5a",
    "6a",
    "7a",
    "8a",
    "9a",
    "10a",
    "11a",
    "12p",
    "1p",
    "2p",
    "3p",
    "4p",
    "5p",
    "6p",
    "7p",
    "8p",
    "9p",
    "10p",
    "11p",
]
days = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"]

data = [
    [0, 0, 5],
    [0, 1, 1],
    [0, 2, 0],
    [0, 3, 0],
    [0, 4, 0],
    [0, 5, 0],
    [0, 6, 0],
    [0, 7, 0],
    [0, 8, 0],
    [0, 9, 0],
    [0, 10, 0],
    [0, 11, 2],
    [0, 12, 4],
    [0, 13, 1],
    [0, 14, 1],
    [0, 15, 3],
    [0, 16, 4],
    [0, 17, 6],
    [0, 18, 4],
    [0, 19, 4],
    [0, 20, 3],
    [0, 21, 3],
    [0, 22, 2],
    [0, 23, 5],
    [1, 0, 7],
    [1, 1, 0],
    [1, 2, 0],
    [1, 3, 0],
    [1, 4, 0],
    [1, 5, 0],
    [1, 6, 0],
    [1, 7, 0],
    [1, 8, 0],
    [1, 9, 0],
    [1, 10, 5],
    [1, 11, 2],
    [1, 12, 2],
    [1, 13, 6],
    [1, 14, 9],
    [1, 15, 11],
    [1, 16, 6],
    [1, 17, 7],
    [1, 18, 8],
    [1, 19, 12],
    [1, 20, 5],
    [1, 21, 5],
    [1, 22, 7],
    [1, 23, 2],
    [2, 0, 1],
    [2, 1, 1],
    [2, 2, 0],
    [2, 3, 0],
    [2, 4, 0],
    [2, 5, 0],
    [2, 6, 0],
    [2, 7, 0],
    [2, 8, 0],
    [2, 9, 0],
    [2, 10, 3],
    [2, 11, 2],
    [2, 12, 1],
    [2, 13, 9],
    [2, 14, 8],
    [2, 15, 10],
    [2, 16, 6],
    [2, 17, 5],
    [2, 18, 5],
    [2, 19, 5],
    [2, 20, 7],
    [2, 21, 4],
    [2, 22, 2],
    [2, 23, 4],
    [3, 0, 7],
    [3, 1, 3],
    [3, 2, 0],
    [3, 3, 0],
    [3, 4, 0],
    [3, 5, 0],
    [3, 6, 0],
    [3, 7, 0],
    [3, 8, 1],
    [3, 9, 0],
    [3, 10, 5],
    [3, 11, 4],
    [3, 12, 7],
    [3, 13, 14],
    [3, 14, 13],
    [3, 15, 12],
    [3, 16, 9],
    [3, 17, 5],
    [3, 18, 5],
    [3, 19, 10],
    [3, 20, 6],
    [3, 21, 4],
    
### 使用 Pyecharts 绘制 3D 词云的方法 Pyecharts 是一个功能强大的 Python 数据可视化库,支持多种表类型,包括传统的 2D 词云。然而,Pyecharts 并未直接提供绘制 3D 词云的功能[^1]。若要实现 3D 词云的绘制,可以结合其他工具或扩展 Pyecharts 的功能来完成。 以下是一个可能的解决方案,通过使用 Pyecharts 的 `Grid3D` 或其他三维绘组件,结合自定义逻辑来模拟 3D 词云效果: ```python from pyecharts import options as opts from pyecharts.charts import Scatter3D from pyecharts.faker import Faker # 示例数据 data = [ ["关键词1", 50, "红色"], ["关键词2", 30, "蓝色"], ["关键词3", 40, "绿色"], ["关键词4", 20, "黄色"], ["关键词5", 60, "紫色"], ] # 将数据转换为适合 Scatter3D 的格式 scatter_data = [ [item[1] * 0.1, item[1] * 0.1, i * 10, item[2]] for i, item in enumerate(data) ] # 创建 3D 散点 scatter3d = ( Scatter3D() .add( series_name="3D 词云", data=scatter_data, symbol_size=20, label_opts=opts.LabelOpts(is_show=False), ) .set_global_opts( title_opts=opts.TitleOpts(title="3D 词云"), visualmap_opts=opts.VisualMapOpts( max_=80, min_=10, dimension=0, range_color=["red", "blue", "green", "yellow", "purple"] ), ) ) # 渲染表到 HTML 文件 scatter3d.render("3d_wordcloud.html") ``` #### 解释: - 上述代码中,使用了 `Scatter3D` 来模拟 3D 词云的效果。每个关键词的频率被映射到散点的坐标轴上,同时通过颜色和大小进一步区分不同关键词的重要性。 - `visualmap_opts` 参数用于设置视觉映射,使得词频较高的词汇以更大的尺寸和更醒目的颜色显示[^4]。 #### 注意事项: - Pyecharts 的核心功能并不包含原生的 3D 词云支持,因此需要借助其他方法(如上述示例中的散点)来间接实现。 - 如果需要更复杂的 3D 效果,可以考虑结合其他库(如 `matplotlib` 或 `plotly`),这些库提供了更丰富的 3D 可视化功能[^2]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值