问题标签 [ggimage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 在 gglot2 中使用 SVG 图像作为符号
我想使用存储在外部文件(例如 SVG)中的矢量图形作为我在ggplot2
图中的绘图符号。例如,按照 grImport 小插图中的这个示例(图 8)https://cran.r-project.org/web/packages/grImport/vignettes/import.pdf
此示例导入自定义 shapefile,然后使用lattice
例如绘制它
来自包并且grid.symbols()
是由.grImport
PSflower
grImport
该ggimage
包接近执行此操作,但它将图像转换为绘图下方的栅格,这是我试图避免的。
有什么办法可以实现类似的东西ggplot2
吗?
标记
r - 如何将图像添加到ggplot
我想使用 ggimage 包将从网页(LeBron_James 分配在下面)中提取的图像添加到 ggplot 中。如何将它添加到下面的 ggplot rscript?
r - geom_node_image() - ggraph 中节点的图像
我正在尝试在 ggraph 网络中使用图像(例如国旗)。我一直在寻找使用 ggimage's geom_image
,但是我认为该函数需要适应 ggraph ,我们没有指定 x 和 y 坐标。
r - 在 ggplot/ggimage 中保持形状和图像的纵横比
我正在尝试使用绘制的形状(例如使用 geom_circle)和图像来构建可视化。在这两种情况下,我都希望能够专门使用坐标将它们定位在页面上,而不是使用其中一种内置图表类型。
请参阅下面的更新...
但是,我可以得到具有正确纵横比的圆圈(即圆形而不是椭圆形)或图像,但不能两者兼而有之。在下面的示例中,您可以看到图像未显示为正方形。
我尝试了各种方法,包括 coord_fixed、scale_size_identity 和 coord_cartesian,但无济于事。整体输出将是横向的,这就是我设置笛卡尔限制的原因。
这是一个简化版本。在完整版中,我将从数据中获取坐标(我可以接受)。
更新来自@tjebo 的真正有用的输入和进一步的调查。
我现在发现至少有 4 种方法可以将图像添加到绘图中,每种方法都有自己的优点和缺点。我在下面列出了这些以帮助其他人进行此搜索。
绘制可以添加图像的基本形状
使用 ggtexture 绘图 - 多个图像 - 由 x 和 y 最大 - 最小定义的方面
https://rdrr.io/github/clauswilke/ggtextures/man/geom_textured_rect.html
使用 ggimage 绘图 - 多个图像 - 设备定义的方面
用cowplot绘图 - 单个图像 - 纵横比的自由
独立绘图表面和比例(0-1)
使用 annotation_custom (ggplot) 绘图 - 原始方面
似乎在中间坐标上使用最宽的高度和中心
r - 无法使用 geom_flags 正确绘制
我正在尝试绘制一些数据(不幸的是,主要是字符数据)并且我想使用 geom_flag 创建小标志图像以放在 x 轴(x = Country)上的标签下以使其更清晰,因为我无法编写完整的国名(阿根廷等长名字会很乱)
但是我得到的是下面的图像......只出现了一些标志,它们甚至没有正确显示,因为图像似乎“不够高”来包含它们。如何修改我的代码以显示所有标志并确保图像完全显示在图表中?我知道这很复杂,非常感谢您的帮助!这是我的代码:
我的数据的 dput():
结构(列表(iso2 = c(“CA”,“DE”,“DE”,“CA”,“CA”,“AU”,“RU”,“BE”,“BE”,“BE”,“BE "、"TR"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、"DE"、 “DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE”、“DE” ”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “DE”, “德”,“德”,“德”,“德”,“FR”、“FR”、“FR”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“CN”、“FR” ”、“FR”、“FR”、“JP”、“JP”、“JP”、“JP”、“JP”、“SA”、“SA”、“BR”、“BR”、“BR”、 “BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“BR”、“RU”、“RU”、“BE”、“IT”、“IT” ”,“IT”,“IT”,“IT”,“IT”,“IT”,“IT”,“AR”,“IT”,“IT”,“CH”,“AR”,“IT”, “美国”、“美国”、“AR”、“AR”, “AR”, “AR”, “AR”, “JP”, “JP”, “US”, “US”, “US”), Place = structure(c(4L, 3L, 3L, 3L, 4L,4L,3L,5L,5L,5L,5L,4L,2L,2L,2L,2L,2L,3L,3L,3L,3L,3L,3L,3L,4L,4L,4L,4L,4L, 4L,4L,4L,4L,4L,4L,4L,4L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,5L,3L,3L, 4L,3L,4L,4L,4L,4L,5L,5L,5L,5L,4L,4L,5L,4L,5L,5L,5L,5L,3L,4L,2L,4L,4L,4L,5L, 5L,5L,5L,5L,5L,2L,3L,5L,3L,3L,2L,2L,2L,3L,3L,4L,4L,5L,5L,5L,3L,5L,3L,3L,5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 3L, 4L, 5L), .Label = c("Context Intro", "Context Rec 1", "Protectionism", "WTO 改革", "Multilateralism", “上下文建议 2”、“危机应对”、“海关”、“Gloval 价值链”、“上下文建议 3”、“微型中小企业”、“贸易融资”、“出口信贷机构”、“上下文建议 4”、“绿色贸易”、“对外投资”)、类=“因素”),Contentious?
= c("无争议", "有争议", "无争议", "无争议", "无争议", "无争议", "有争议", "无争议", "有争议", "无争议", “无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、 “无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议” ”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“有争议”、“有争议”、“无争议”、“无争议”有争议的”、“无争议的”、“无争议的”、“无争议的”、“无争议的”、“有争议的”、“有争议的”、“有争议的”、“无争议的”、“无争议的”、“有争议”、“无争议”、“无争议”、“无争议”、“有争议”、“有争议”、“有争议”、“无争议”、“有争议”、“有争议”、“有争议”、“有争议” ”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议” , “没有争议”, “有争议”, “没有争议”, “有争议”, “没有争议”, “有争议”, “没有争议”, “没有争议”, “没有争议”, “无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“有争议”、“无争议”、“无争议”、“有争议”、“无争议”、 “无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” "),“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” , "有争议的", "没有争议的"),“有争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“无争议”、“有争议”、“无争议”、“有争议”、“无争议” , "有争议的", "没有争议的"),Comments number
= c(2L, 9L, 9L, 1L, 2L, 1L, 2L, 4L, 4L, 4L, 4L, 1L, 5L, 5L, 5L, 5L, 5L, 9L, 9L, 9L, 9L, 9L, 9L, 9L , 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 13L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L, 15L , 15L, 15L, 15L, 2L, 2L, 3L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 3L, 3L, 1L, 1L, 6L, 6L, 6L, 6L, 1L, 1L , 2L, 3L, 3L, 3L, 6L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 1L, 1L, 4L, 3L, 3L, 3L, 4L, 4L, 2L, 2L, 7L, 2L, 2L , 1L, 7L, 4L, 2L, 2L, 7L, 7L, 7L, 7L, 7L, 6L, 6L, 2L, 1L, 2L), 国家 = c("加拿大", "德国", "德国", "加拿大”, “加拿大”, “澳大利亚”, “俄罗斯”, “比利时”, “比利时”, “比利时”, “比利时”, “土耳其”, “德国”, “德国”, “德国”, “德国”, “德国”,“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国” “, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”, “德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“德国”、“法国”、“法国”、“法国” ", "中国", "中国", "中国", "中国”、“中国”、“中国”、“中国”、“中国”、“中国”、“法国”、“法国”、“法国”、“日本”、“日本”、“日本”、“日本” , “日本”, “沙特阿拉伯”, “沙特阿拉伯”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西”, “巴西” , “巴西”, “巴西”, “俄罗斯”, “俄罗斯”, “比利时”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”, “意大利”、“阿根廷”、“意大利”、“意大利”、“瑞士”、“阿根廷”、“意大利”、“美利坚合众国”、“美利坚合众国”、“阿根廷”、“阿根廷”、“阿根廷”、“阿根廷”、“阿根廷”、“日本”、“日本”、“美国美国”,“美利坚合众国”,“美利坚合众国”)),row.names = c(NA,-114L),类= c(“tbl_df”,“tbl”,“data.frame”))类 = c("tbl_df", "tbl", "data.frame"))类 = c("tbl_df", "tbl", "data.frame"))
r - 避免时间线上的点重叠(一维排斥)
我想创建一个大致类似于以下示例的时间线图:在某些点有很多重叠,而在其他点没有很多重叠。
我需要的是:重叠的图像应该在必要时相互排斥,消除或减少重叠。理想情况下,我可以实现垂直或水平排斥。
类似于排斥的东西ggbeeswarm::geom_beeswarm
或者ggrepel::geom_text_repel
会很好,但那些不支持图像。所以我认为我需要预先应用某种一维打包算法,在每个组内的日期向量上实现迭代的成对排斥,以尝试找到不重叠的排列。
有任何想法吗?太感谢了!
由reprex 包于 2021-10-30 创建(v2.0.1)