网易首页 > 网易号 > 正文 申请入驻

别老用折线图柱状图了,试试这5种高级可视化图表

0
分享至

今天给大家介绍五种并不常见但是也非常实用的数据可视化图表及相关制作工具。 掌握这五种高级图表可使数据可视化变得容易,丰富你的 数据表达。

和弦图 (Chord Diagram)

和弦图创造性地展示了数据点之间复杂的关系。节点围绕一个圆圈排列,通过弧线连接。弧线的长度反映了连接值,其粗细表示关系的重要性。颜色对数据进行分类,使比较变得容易。广泛应用于各个领域,特别是在可视化遗传数据方面。

以下是一个使用 Holoviews 和 Bokeh 创建显示五个国家之间贸易关系的和弦图的示例。

import holoviews as hv
from holoviews import opts
import pandas as pd
import numpy as np
hv.extension('bokeh')

# Sample matrix representing the export volumes between 5 countries
export_data = np.array([[0, 50, 30, 20, 10],
[10, 0, 40, 30, 20],
[20, 10, 0, 35, 25],
[30, 20, 10, 0, 40],
[25, 15, 30, 20, 0]])

labels = ['USA', 'China', 'Germany', 'Japan', 'India']

# Creating a pandas DataFrame
df = pd.DataFrame(export_data, index=labels, columns=labels)
df = df.stack().reset_index()

df.columns = ['source', 'target', 'value']

# Creating a Chord object
chord = hv.Chord(df)

# Styling the Chord diagram
chord.opts(
opts.Chord(
cmap='Category20', edge_cmap='Category20',
labels='source', label_text_font_size='10pt',
edge_color='source', node_color='index',
width=700, height=700
)
).select(value=(5, None))

# Display the plot
chord

https://holoviews.org/reference/elements/matplotlib/Chord.html

https://github.com/moshi4/pyCirclize

旭日图(Sunburst Chart)

旭日图通过清晰展示层次数据,超越了传统的饼图和环图。它使用同心圆,每个圆代表层次中的一级。中心是根,扇形表示节点。每个扇形的大小反映了它的值,直观地理解数据的重要性。在可视化文件系统层次结构、用户导航路径、市场细分和遗传数据方面非常有用。 以下是一个使用 Plotly 库创建旭日图的示例。

import plotly.express as px
import numpy as np

df = px.data.gapminder().query("year == 2007")

fig = px.sunburst(df, path=['continent', 'country'],
values='pop',
color='lifeExp',
hover_data=['iso_alpha'],
color_continuous_scale='RdBu',
color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop']))
fig.show()

https://plotly.com/python/sunburst-charts/

六边形分箱图 (Hexbin Plot)

六边形分箱图,或称六边形分箱,对于可视化二维数据分布非常有效,特别是当数据点密集时。它将数据空间划分为六边形箱,颜色表示每个箱中的点数,清晰地表示数据分布。

以下是一个使用 Python 和 Matplotlib 创建六边形分箱图的示例,展示了空气质量指数 (AQI) 与医院访问之间的相关性。

import numpy as np
import matplotlib.pyplot as plt
from mplhexbin import HexBin

# Simulated data
np.random.seed(0) # Ensure reproducibility
n_points = 10000
x = np.random.rand(n_points) * 100 # Air Quality Index (AQI) range from 0 to 100
y = 5 * np.sin(x * np.pi / 50) + np.random.randn(n_points) * 15 # Simulated hospital visits, related to AQI but with noise

# Create a new figure
fig, ax = plt.subplots(figsize=(10, 8))

# Use HexBin to create a hexagonal bin plot
hb = HexBin(ax, gridsize=20, cmap='viridis', extent=[0, 100, -30, 50]) # Set grid size, colormap, and range
hb.hexbin(x, y, mincnt=1) # Draw the hexagonal bin plot, mincnt sets the minimum count threshold

# Add title and axis labels
ax.set_title('Relationship between Air Quality Index (AQI) and Hospital Visits')
ax.set_xlabel('Air Quality Index (AQI)')
ax.set_ylabel('Hospital Visits')

# Show the figure
plt.colorbar(hb.cmap, ax=ax, label='Number of Data Points') # Add color bar and set label
plt.show()

https://matplotlib.org/stable/gallery/statistics/hexbin_demo.html

桑基图 (Sankey Diagram)

桑基图可视化数据流,非常适合能源、材料和财务数据。以 Matthew Henry Phineas Riall Sankey 命名,它显示了系统各阶段或部分之间的流量。节点宽度与流量数量成比例,易于理解数据规模和方向。

以下是一个使用 Python 创建桑基图的示例,展示了从生产源头到小城市消费者的能量流。

import plotly.graph_objects as go

labels = ["Coal", "Solar", "Wind", "Nuclear", "Residential", "Industrial", "Commercial"]

source = [0, 1, 2, 3, 0, 1, 2, 3]
target = [4, 4, 4, 4, 5, 5, 5, 5]
value = [25, 10, 40, 20, 30, 15, 25, 35]

# Create the Sankey diagram object
fig = go.Figure(data=[go.Sankey(
node=dict(
pad=15,
thickness=20,
line=dict(color="black", width=0.5),
label=labels
),
link=dict(
source=source,
target=target,
value=value
))])

fig.update_layout(title_text="Energy Flow in Model City", font_size=12)
fig.show()

https://plotly.com/python/sankey-diagram/

流图 (Stream Graph, 主题河流)

流图类似于河流,描绘了随时间的变化。颜色区分类别,而“河流”的宽度表示每个类别的值。它直观地展示趋势和关系,易于理解数据动态。

以下是一个使用 Altair 库创建流图的示例。

import altair as alt
from vega_datasets import data

source = data.unemployment_across_industries.url

alt.Chart(source).mark_area().encode(
alt.X('yearmonth(date):T',
axis=alt.Axis(format='%Y', domain=False, tickSize=0)
),
alt.Y('sum(count):Q', stack='center', axis=None),
alt.Color('series:N',
scale=alt.Scale(scheme='category20b')
)
).interactive()

https://altair-viz.github.io/gallery/streamgraph.html

Crossin的新书《码上行动:用ChatGPT学会Python编程》已经上市了。 本书以ChatGPT为辅助,系统全面地讲解了如何掌握Python编程,适合Python零基础入门的读者学习。

购买后可加入读者交流群,Crossin为你开启陪读模式,解答你在阅读本书时的一切疑问。

Crossin的其他书籍:

添加微信crossin123,加入编程教室共同学习 ~

感谢转发点赞的各位~

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
当反向过年走红,留在北京的网约车司机“狠狠捡漏”了|新春走基层

当反向过年走红,留在北京的网约车司机“狠狠捡漏”了|新春走基层

第一财经资讯
2026-02-23 12:05:20
美国评1979年中越战争:打了28天,中国军队出现了很多问题

美国评1979年中越战争:打了28天,中国军队出现了很多问题

小豫讲故事
2026-01-31 06:00:10
有人说:什么时候公务员不再是挤破头的职业,那社会就百业兴旺了

有人说:什么时候公务员不再是挤破头的职业,那社会就百业兴旺了

细说职场
2026-01-16 11:57:05
俞敏洪:当你的孩子不尊重你、不理你时,不必翻脸,只需“乌鸦定律”就够了,这样处理才是有水平……

俞敏洪:当你的孩子不尊重你、不理你时,不必翻脸,只需“乌鸦定律”就够了,这样处理才是有水平……

乔话
2026-02-20 19:34:42
秦昊夫妇现身沈阳,伊能静脸垮状态符合年纪,秦昊颈纹多很显憔悴

秦昊夫妇现身沈阳,伊能静脸垮状态符合年纪,秦昊颈纹多很显憔悴

楠楠自语
2026-02-21 19:44:57
许字马甲围堵小妈祖,父亲被锁喉奶奶遭怒视,老板过往被扒引众怒

许字马甲围堵小妈祖,父亲被锁喉奶奶遭怒视,老板过往被扒引众怒

一盅情怀
2026-02-23 15:36:15
半小时12枚导弹击中基辅!利沃夫恐怖袭击:乌克兰最美的花儿凋谢

半小时12枚导弹击中基辅!利沃夫恐怖袭击:乌克兰最美的花儿凋谢

鹰眼Defence
2026-02-23 17:20:48
中国十大著名糕点

中国十大著名糕点

电工知库
2026-02-23 06:33:26
“15天12板”!000711提示:再涨就停牌核查

“15天12板”!000711提示:再涨就停牌核查

大众证券报
2026-02-23 18:04:28
江苏连云港一男子参加王婆说媒炫富引争议,涉事单位回应,主办方:不会再让他上台

江苏连云港一男子参加王婆说媒炫富引争议,涉事单位回应,主办方:不会再让他上台

极目新闻
2026-02-22 16:39:07
中朝贸易2025年增长26%:我们卖给朝鲜衣食,朝鲜卖给我们假发?

中朝贸易2025年增长26%:我们卖给朝鲜衣食,朝鲜卖给我们假发?

花小猫的美食日常
2026-02-23 15:47:30
这人妻感绝对拉满

这人妻感绝对拉满

贵圈真乱
2026-02-23 10:55:35
谁能夺冠?阿森纳曼城未来英超赛程:第33轮迎直接对话

谁能夺冠?阿森纳曼城未来英超赛程:第33轮迎直接对话

懂球帝
2026-02-23 09:45:07
马筱梅晒定制红包,把婆婆张兰放感谢第一位,汪大爷也来陪产

马筱梅晒定制红包,把婆婆张兰放感谢第一位,汪大爷也来陪产

离离言几许
2026-02-23 11:49:37
特朗普定下访华时间,中方先发制人亮一条红线,高市早苗要难受了

特朗普定下访华时间,中方先发制人亮一条红线,高市早苗要难受了

凡知
2026-02-22 11:56:01
回顾:四川一男子阴茎撕裂入院,9天后复查结果如何了

回顾:四川一男子阴茎撕裂入院,9天后复查结果如何了

新时代的两性情感
2026-02-23 18:01:52
黄晓明紧急发文警告前妻baby!秀恩爱请注意形象,别影响我的家庭

黄晓明紧急发文警告前妻baby!秀恩爱请注意形象,别影响我的家庭

八卦王者
2026-02-22 10:56:41
女孩当小姐,一晚要提供4到5次上门服务,2015年被亲人点到不赴约

女孩当小姐,一晚要提供4到5次上门服务,2015年被亲人点到不赴约

汉史趣闻
2025-11-08 09:27:32
两女生扶老人遭索赔22万,原告方撤诉!完整监控视频公布,交警为何定次责?律师释疑

两女生扶老人遭索赔22万,原告方撤诉!完整监控视频公布,交警为何定次责?律师释疑

怀化新闻网
2026-02-22 15:46:14
日本女子冰壶队长因酷似孙燕姿在冬奥走红!社媒低调全是比赛照

日本女子冰壶队长因酷似孙燕姿在冬奥走红!社媒低调全是比赛照

Emily说个球
2026-02-22 23:39:17
2026-02-23 19:23:00
Crossin编程教室 incentive-icons
Crossin编程教室
简单有趣的python入门
431文章数 710关注度
往期回顾 全部

科技要闻

智谱、MiniMax合计蒸发近千亿市值,为何?

头条要闻

郑丽文:一旦台海爆发冲突 台湾将成最大输家

头条要闻

郑丽文:一旦台海爆发冲突 台湾将成最大输家

体育要闻

哈登版骑士首败:雷霆的冠军课

娱乐要闻

谷爱凌奶奶去世,谷爱凌泪奔

财经要闻

美国海关将停止征收被裁定违法的关税

汽车要闻

续航1810km!smart精灵#6 EHD超级电混2026年上市

态度原创

本地
房产
旅游
家居
公开课

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

房产要闻

窗前即地标!独占三亚湾C位 自贸港总裁行宫亮相

旅游要闻

上海市春节假期接待游客2167.21万人次 同比增长8.36%

家居要闻

本真栖居 爱暖伴流年

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版