各位论坛大神,最近在用rstudio玩shiny包,被编码问题折磨的死去活来 :cry: 终于决定发个处女贴来向大家求助求助,看看大家在这方面是否有经验指导一下:
在代码运行过程中,出现了:
但同时出现了提示warning:
点击stop停止运行后,再次运行就会报下面的错误:
在geogle的论坛里面我发现过类似的问题:
https://groups.google.com/forum/#!topic/shiny-discuss/lq5hZ81mLCo
但是他的windows是英文版,后来改中文版就成功了。
我的shiny版本是1.1最新的,Rstudio执行sessionInfo()的信息如下:
同一个组几位同学都是UTF-8的问题,运行不成功,求帮助。我们也有到shiny的官网看例子:
http://shiny.rstudio.com/gallery/unicode-characters.html
我自己的代码用到了rcharts封装百度的echarts,echarts相关js的路径目录用
r1$setLib('C://Users//lzkun_000//Documents//R//win-library//3.1//rCharts//libraries//echarts')指定:
server.R:
library(shiny)
require(jsonlite)
require(rCharts)
shinyServer(function(input, output, session){
output$plot <- renderChart2({
options(encoding = 'UTF-8')
#Sys.setlocale(category="LC_ALL", locale = "chinese")
#Sys.getlocale(category="LC_ALL")
province<-c("北京","天津","上海","重庆","河北","安徽","新疆","浙江","山西","内蒙古","吉林","福建","广东","西藏","四川","宁夏","香港","澳门")
randomv1 <- runif(length(province))*100
randomv2 <- runif(length(province))*1000
randomv3 <- runif(length(province))*10000
China<-data.frame(province,randomv1,randomv2,randomv3,stringsAsFactors=FALSE)
df<-data.frame(
name=province,
value=randomv1
)
df2<-data.frame(
name=province,
value=randomv2
)
df3<-data.frame(
name=province,
value=randomv3
)
datatest <- jsonlite::toJSON(df, pretty=TRUE)
datastr <- as.character(datatest)
datastr <- gsub(pattern="\n", replacement="",datastr)
document <- rjson::fromJSON(datastr)
datatest2 <- jsonlite::toJSON(df2, pretty=TRUE)
datastr2 <- as.character(datatest2)
datastr2 <- gsub(pattern="\n", replacement="",datastr2)
document2 <- rjson::fromJSON(datastr2)
datatest3 <- jsonlite::toJSON(df3, pretty=TRUE)
datastr3 <- as.character(datatest3)
datastr3 <- gsub(pattern="\n", replacement="",datastr3)
document3 <- rjson::fromJSON(datastr3)
r1 <- rCharts$new()
r1$setLib('C://Users//lzkun_000//Documents//R//win-library//3.1//rCharts//libraries//echarts')
r1$set(title=list(
text='全国经济数据GDP',
subtext='纯属虚构',
x='center'
))
r1$set(dataRange=list(
min=0,
max=10000,
x='left',
y='bottom',
text=c('高','低'),
calculable=TRUE
))
r1$set(series = list(list(
name = 'GS',
data = document,
type = 'map',
mapType="china",
itemStyle=list(normal=list(label=list(show=TRUE)),
emphasis=list(label=list(show=TRUE)))
),
list(
name = 'GS2',
data = document2,
type = 'map',
mapType="china",
itemStyle=list(normal=list(label=list(show=TRUE)),
emphasis=list(label=list(show=TRUE)))
),
list(
name = 'GS3',
data = document3,
type = 'map',
mapType="china",
itemStyle=list(normal=list(label=list(show=TRUE)),
emphasis=list(label=list(show=TRUE)))
)
))
r1$set(tooltip = list(
trigger = "item"
))
r1$set(legend=list(
orient='horizontal',
x='left',
data=c("iphone3","iphone2","iphone1")
))
r1
})
})
ui.R:
library(shiny)
require(rCharts)
shinyUI(bootstrapPage(
chartOutput('plot', "C://Users//lzkun_000//Documents//R//win-library//3.1//rCharts//libraries//echarts")
))
等待各位帮助 :cry: :cry: