我正在尝试使用plotly 制作交互式ggplot2 地图。
在下面的代码中,我创建了一张法国地图,每个部门都有不同的颜色:
library(tidyverse)
library(stringr)
library(stringi)
library(maps)
library(ggplot2)
map <- map_data("france")
map_theme <- theme(title=element_text(),
plot.title=element_text(margin=margin(20,20,20,20), size=18, hjust = 0.5),
axis.text.x=element_blank(),
axis.text.y=element_blank(),
axis.ticks=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
panel.grid.major= element_blank(),
panel.background= element_blank())
p = ggplot(map, aes(long,lat, group = group, fill = region)) +
geom_polygon() +
coord_map() +
theme(legend.position = "none") +
map_theme
plot(p)
ggplotly(p)
Run Code Online (Sandbox Code Playgroud)
plot(p) 和 ggplotly(p) 会给出类似的图表,但用plotly提供的图表看起来被拉伸了。地图有问题。避免这种情况的最佳策略是什么?
我使用这些行从封闭的工作簿中获取值:
Arg = "'" & Path & "[" & File & "]" & Sheet & "'!" & "R4C4"
Arg = CStr(Arg)
GetValue = ExecuteExcel4Macro(Arg)
Run Code Online (Sandbox Code Playgroud)
除了循环之外,还有其他方法可以从某个范围中获取值吗?循环解决方案正在工作,但是如果我可以直接使用ExecuteExcel4Macro获得范围,那就更清楚了。我试图在Arg中输入一个范围,但是它不起作用。它返回一个错误。
我对图表有同样的问题,如何获得它们?目前,我的解决方案是获取值并重新绘制图表。它可以工作,但是我对GetChart(Chartname)函数会更满意。
我已经看到我可以使用ADODB连接从封闭的工作簿中获取价值。但这与ExecuteExcel4Macro相比有点太复杂了。在范围/图表的情况下使用ADODB连接会更容易吗?
我有一个带有VBA宏的.XLS文件.与LibreOffice一起使用它的最快方法是什么?我在VBA项目部分尝试过"Option VBASupport 1",但是我的按钮没有正确调用函数.是否可以轻松将其翻译成LO Basic?保持VBA并应用一些修改是否更好?
我想知道是否有规则知道循环将完成?
有没有办法改变它?
假设我在多个工作簿上的多个工作表上有多个范围.