10 个版本
0.8.1 | 2021年1月6日 |
---|---|
0.8.0 | 2021年1月6日 |
0.2.1 | 2020年12月23日 |
0.1.6 | 2020年7月14日 |
0.1.3 | 2020年4月16日 |
#143 在 可视化
每月下载量 36 次
7MB
292 行
和弦 PRO 发布
和弦 PRO 是功能齐全的和弦可视化 API,可生成美丽的交互式可视化,例如 Reddit 首页上的那些。
- 生成美丽的交互式和弦图。
- 自定义颜色和字体大小。
- 访问分割模式,使您的图表有两侧。
- 悬停时添加图像和文本,
- 访问更精细的定制,包括 HTML 注入。
- 允许商业使用,无需开源要求。
- 目前支持 Python、JavaScript 和 Rust,未来还将支持更多(接受请求)。
变更日志
- 2020年12月23日 -
Chord PRO
现在支持reverse_gradients
。
-
2020年12月2日 -
Chord PRO
现在具有使用conjunction
参数的 [更好的文本定制] 支持。 -
2020年11月3日 -
Chord PRO
现在支持没有关系的节点。 -
2020年10月26日 -
Chord PRO
现在支持当同一页面上出现多个和弦图时下载到图片。 -
2020年8月29日 -
Chord PRO
现在支持启用“下载到图片”按钮。 -
2020年8月16日 -
Chord PRO
现在支持半径缩放和二分标题。 -
2020年8月13日 -
Chord PRO
现在支持弧度编号。 -
2020年7月23日 -
Chord PRO
现在支持图形标题。 -
2020年7月20日 -
Chord PRO
现在可以通过输入您的 许可证密钥 启用。您还可以覆盖弹出窗口中使用的verb
! -
2020年6月29日 - 对提示框的优化和错误修复大幅提高了可视化(重建您的和弦图 以利用此更改)的交互性能。
-
2020年5月22日 - 优化和错误修复大幅提高了可视化(重建您的和弦图 以利用此更改)的交互性能。
-
2020年5月21日 - 请更新到最新的
chord
版本。已经引入了向后兼容性,因此从本版本开始,新版本不会破坏旧版本!
简介
在和弦图(或径向网络)中,实体以半径上的段的形式排列,它们之间的关系通过连接它们的弧来可视化。段的大小表示数值比例,而弧的大小表示关系的意义1。
和弦图在尝试传达不同实体之间的关系时非常有用,并且它们可以很美,引人注目。
Chord Crate
我找不到任何用于绘制和弦图的Rust crate,所以我从Python迁移了自己的项目到Rust。
您可以从 crates.io 或从 GitHub仓库 获取该软件包。使用您处理后的数据,您只需一行代码就可以绘制出美丽的图形,Chord{ matrix : matrix, names : names, .. Chord::default() }.show()
主要支持 Jupyter Lab
(不是较旧的 Jupyter Notebook
)。
安装
可在 crates.io 上找到。
:dep chord = {Version = "0.2.1"}
use chord::{Chord, Plot};
示例
您可以在本页上的实际交互示例 这里 查看。以下示例是截图。
数据集
本节的重点将是演示 chord
包。为了简单起见,我们将使用说明同一部电影中电影类型共现的合成数据。
let matrix: Vec<Vec<f64>> = vec![
vec![0., 5., 6., 4., 7., 4.],
vec![5., 0., 5., 4., 6., 5.],
vec![6., 5., 0., 4., 5., 5.],
vec![4., 4., 4., 0., 5., 5.],
vec![7., 6., 5., 5., 0., 4.],
vec![4., 5., 5., 5., 4., 0.],
];
let names: Vec<String> = vec![
"Action",
"Adventure",
"Comedy",
"Drama",
"Fantasy",
"Thriller",
]
.into_iter()
.map(String::from)
.collect();
默认设置
让我们看看当我们调用Chord
的默认值时,show
方法会产生什么效果。
Chord {
matrix: matrix.clone(),
names: names.clone(),
..Chord::default()
}
.show();
您还可以将其保存为HTML文件。
Chord {
matrix: matrix.clone(),
names: names.clone(),
..Chord::default()
}
.to_html();
不同颜色
默认值很棒,但如果我们想要不同的颜色怎么办?您可以从d3-scale-chromatic中传递几乎所有内容,或者您可以传递一个十六进制颜色代码列表。
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: "d3.schemeSet2".to_string(),
..Chord::default()
}
.show();
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: format!("d3.schemeGnBu[{:?}]",names.len()).to_string(),
..Chord::default()
}
.show();
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: "d3.schemeSet3".to_string(),
..Chord::default()
}
.show();
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: format!("d3.schemePuRd[{:?}]",names.len()).to_string(),
..Chord::default()
}
.show();
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: format!("d3.schemeYlGnBu[{:?}]",names.len()).to_string(),
..Chord::default()
}
.show();
let hex_colours : Vec<String> = vec!["#222222", "#333333", "#4c4c4c", "#666666", "#848484", "#9a9a9a"].into_iter()
.map(String::from)
.collect();
Chord {
matrix: matrix.clone(),
names: names.clone(),
colors: format!("{:?}",hex_colours),
..Chord::default()
}
.show();
标签样式
我们可以禁用换行标签,甚至更改颜色。
Chord {
matrix: matrix.clone(),
names: names.clone(),
wrap_labels: false,
label_color:"#4c40bf".to_string(),
..Chord::default()
}
.show();
不透明度
我们还可以更改关系的默认不透明度。
Chord {
matrix: matrix.clone(),
names: names.clone(),
opacity: 0.1,
..Chord::default()
}
.show();
图表大小
我们可以通过指定宽度来更改最大图表大小。
Chord {
matrix: matrix.clone(),
names: names.clone(),
width: 400.0,
..Chord::default()
}
.show()
-
Tintarev, N., Rostami, S., & Smyth, B. (2018, April). Knowing the unknown: visualising consumption blind-spots in recommender systems. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing (pp. 1396-1399). ↩
数据和模板
Chord FREE软件包
当未指定用户名和许可证,或者它们都设置为"free"
时,chord
软件包会切换到FREE
模式。这将禁用所有PRO
功能的使用。
这使用的是托管在DataCrayon.com
(AWS托管)服务器上的Chord FREE API服务来生成您的可视化。
Chord FREE使用AGPL-3.0许可证。
Chord PRO(完整功能)软件包
当指定用户名和许可证时,chord
软件包会切换到PRO
模式。这启用了所有PRO
功能的使用。
这使用的是托管在DataCrayon.com
(AWS托管)服务器上的Chord PRO API服务来生成您的可视化。