我是数据可视化的初学者,对于 cartopy 更是如此,我知道对于大多数人来说,我的问题很明显。我正在尝试熟悉 cartopy 并且我成功地绘制了文本和点。但是我无法通过饼图实现它。
我只想在特定投影上绘制饼图。但我真的很困惑,尽管有 cartopy 的文档。我先试试这个:
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
ax = plt.axes(projection=ccrs.Robinson())
ax.coastlines(resolution='110m') # 110, 50, 10
ax.stock_img()
lat, long = 30, 30 # the latitude longitude
ax.pie(long, lat, [0.25, 0.75], transform=ccrs.PlateCarree())
Run Code Online (Sandbox Code Playgroud)
那不起作用,所以我已经检查过,我发现这个Cartopy 海岸线被 Axes.pie 的 inset_axes 使用隐藏了,但我不明白在引擎盖下发生了什么,而且它似乎仅限于 PlateCarre()。我已经尝试修改它,但我没有设法让它正常工作。
所以我非常简单的问题是如何在给定纬度和经度的情况下向特定投影添加多个饼图?如果你能提出你的答案,你会很受欢迎。
我正在使用petgraph,我想提取连接组件.
我想要一个HashMap<u32, Vec<&petgraph::graph::NodeIndex>>
带有a u32作为连接组件的标识符,以及一个Vec带有对连接组件中所有节点的引用的容器.
如果这是一个糟糕的设计,请毫不犹豫地指出一个更好的设计; 我是一个Rust初学者.
我试过这样的事情:
extern crate fnv;
extern crate petgraph;
use petgraph::visit::Dfs;
use fnv::FnvHashMap; // a faster hash for small key
use fnv::FnvHashSet;
// structure definition
pub struct NodeAttr {
pub name_real: String,
}
impl Default for NodeAttr {
fn default() -> Self {
NodeAttr {
name_real: "default_name_for_testing".to_string(),
}
}
}
pub struct EdgesAttr {
pub eval: f64,
pub pid: f32,
pub cov: f32, // minimum coverage
}
impl Default for EdgesAttr …Run Code Online (Sandbox Code Playgroud)