我有一个plotly.js条形图,我试图得到分类轴的顺序正确.每个类别都有一个单独的栏,但有时它们是绿色的,有时它们是黄色的.条形应该从最高到最低顺序排列,但似乎根据不同的填充顺序排列它们.
数据:
var data = [
{
"marker": {
"color": "#006666"
},
"x": ["A:0122", "A:0121", "A:0434", "A:0838", "A:0083", "A:0081", "A:0687"],
"y": [1246.0, 1096.0, 1000.0, 200.0, 0.0, 0.0, 0.0],
"name": "Green",
"type": "bar"
},
{
"marker": {
"color": "#C87B31"
},
"x": ["A:0169", "A:0175"],
"y": [270.0, 0.0],
"name": "Yellow",
"type": "bar"
}
];
Run Code Online (Sandbox Code Playgroud)
布局:
var layout = {
"margin": {
"t": 0
},
"barmode": "stack",
"tickangle": -90,
"showlegend": true,
"xaxis": {
"title": "Idea",
"tickmode": "array",
"tickvals": ["A:0122", "A:0121", "A:0434", "A:0169", "A:0838", "A:0083", …Run Code Online (Sandbox Code Playgroud) 我看到很多人问这个问题的各种版本,但我还没有找到明确的答案。
我想向 R Shiny 应用程序发送 POST 请求,以便在收到请求后,Shiny 应用程序可以呈现请求正文中的数据。例如,考虑这样一个用例:我编写了某种特殊的analyzeData(data)R 函数,某人可以在笔记本电脑上本地运行该函数。在该函数中,将有一个httr::POST将数据上传到 Shiny 服务器的请求,然后用户将弹出浏览器并看到显示在服务器上分析的数据的 UI。从某种意义上说,它有点像“上传数据”按钮的奇特版本,但它们不是从 Shiny UI 中上传数据,而是在通过函数请求打开 UI 之前完成上传。
所以流程是:
analyzeData(data)函数据我所知,Shiny无法以这种方式接受 POST 请求。事实上,我不确定除了通过 UI 之外还有什么方法可以让 Shiny 接受数据。这几乎就像我想让 Plumber 和 Shiny 在同一台机器上运行(Plumber 接受数据 POST 请求,Shiny 然后渲染生成的 UI),但这感觉像是过度设计。
我错过了什么吗?有没有办法让这个流程与 Shiny 直接接受 POST 请求一起工作?
我正在尝试将 Unicode 字符串从 R 写入 SQL,然后使用该 SQL 表来支持 Power BI 仪表板。不幸的是,Unicode 字符似乎只在我将表加载回 R 时才起作用,而在我在 SSMS 或 Power BI 中查看表时则不起作用。
require(odbc)
require(DBI)
require(dplyr)
con <- DBI::dbConnect(odbc::odbc(),
.connection_string = "DRIVER={ODBC Driver 13 for SQL Server};SERVER=R9-0KY02L01\\SQLEXPRESS;Database=Test;trusted_connection=yes;")
testData <- data_frame(Characters = "?")
dbWriteTable(con,"TestUnicode",testData,overwrite=TRUE)
result <- dbReadTable(con, "TestUnicode")
result$Characters
Run Code Online (Sandbox Code Playgroud)
成功产生:
> result$Characters
[1] "?"
Run Code Online (Sandbox Code Playgroud)
但是,当我在 SSMS 中拉出该表时:
SELECT * FROM TestUnicode
Run Code Online (Sandbox Code Playgroud)
我得到两个不同的字符:
Characters
~~~~~~~~~~
â¤
Run Code Online (Sandbox Code Playgroud)
这些字符也出现在 Power BI 中。如何正确地将心形字符拉到 R 之外?
如果我在 RMarkdown 文件中手动运行代码,我希望有一个可以在 RStudio 中查看表格的函数,否则使用knitr::kable():
ez_view <- function(df){
if(`IS_RENDERING`){
knitr::kable(df)
} else {
View(df)
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法轻松做到这一点?
我正在尝试使用 rayshader 包制作图像。我很高兴能够使用如下代码创建一个 png 文件:
library(ggplot2)
library(rayshader)
example_plot <-
ggplot(data.frame(x=c(1,2,3),y=c(4,5,6),z=c(5,4,3)),aes(x=x,y=y,color=z)) + geom_point()
plot_gg(example_plot, width = 2, height = 2, multicore = TRUE, scale = 125,
zoom = 0.5, phi = 60, theta=-10, windowsize = c(3200, 3200), offset_edges = TRUE)
Sys.sleep(2.0)
render_depth(focus = 0.5, focallength = 100, fstop = 8, clear = TRUE,filename="example.png")
Run Code Online (Sandbox Code Playgroud)
不幸的是,我无法弄清楚如何使输出图像具有更高的分辨率。我试过调整窗口大小,在低值下似乎有所不同,但我已经达到了某种上限,输出图像的分辨率不会超过 1372 x 893。我该怎么做才能获得输出分辨率约为 3200 x 3200 的图像?
谢谢!
假设我想显示一组条形图,其中每个条形图可以是其中一个选项:A,B或C,每个条形图都有不同的颜色.我想显示条形图,但如果条形图属于特定类别,则仍然会在图例中显示该类别.不幸的是,没有颜色的类别似乎被丢弃了.请注意,在此示例中,如何从图例中删除标记为"C"的类别为蓝色的类别:
data = [
{
x: [1, 3, 4],
y: [20, 14, 23],
type: 'bar',
name: 'A',
marker: {color: '#00FFFF'}},
{
x: [2, 5, 6],
y: [8, 6, 2],
type: 'bar',
name: 'B',
marker: {color: '#FF00FF'}},
{
x: [],
y: [],
type: 'bar',
name: 'C'
marker: {color: '#FF0000'}}]
Run Code Online (Sandbox Code Playgroud)
我怎样才能确保C(或任何没有数据的颜色)始终显示?
我正在寻找一个函数来处理任何数值类型的数据(int,float,double)的seq,通过映射对它进行一些计算,然后对这些计算值进行求和.我遇到的问题是Seq.sum(或者通常只是'(+)')会导致类型参数为整数,或者只是给出一个平坦的错误.似乎应该有一种方法通过使用类型约束来使这项工作,但我似乎无法得到它.
type ValueWithComputation<'v> = {Value: seq<'v>; Computation: 'v -> 'v}
let calculateAndCombine (x: ValueWithComputation<'v>) =
x.Value
|> Seq.map x.Computation
|> Seq.sum // sometimes gives error: "Could not resolve the ambiguity inherent in the use of operator '(+)'
let x = {Value= {1..10}; Computation= (fun x->x*2)}
let y = {Value= {(1.0)..(10.0)}; Computation= (fun x->x*x)}
let totalX = calculateAndCombine x //this causes the code force 'v to be int
let totalY = calculateAndCombine y //gives an error since this isn't an int …Run Code Online (Sandbox Code Playgroud) 我正在使用 {gt} 包在报告中创建表。我希望将“$0.00”货币值替换为“-”,这在 Excel 中很容易做到,但在 {gt} 中似乎很难做到。这是一个表格示例,我希望将零值替换为更容易看到的东西。我能做的最好的事情就是使用fmt并制作一个自定义函数来重新创建 的全部功能fmt_currency,这看起来不太好。
library(gt)
library(magrittr)
data <- data.frame(x=c(1.23,4.56,0,0,0,0,0))
table <- gt(data) %>%
fmt_currency(x)
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用ImageSharp来编辑F#中的图片.我正在努力让图像突变起作用
要在C#中进行图像变异,看起来你只需要使用mutate方法和lambda:
image.Mutate(x => x.Kodachrome())
Run Code Online (Sandbox Code Playgroud)
通常,要将C#lambdas更改为F#,我只会使用匿名函数,如下所示:
image.Mutate(fun x -> x.Kodachrome())
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
方法'Mutate'没有重载匹配.可用的重载如下所示(或在错误列表窗口中).
看起来Mutate方法需要一个ImageProcessor,但由于某些原因,在F#中,编译器无法确定匿名函数是一个ImageProcessor.如何在F#中使用图像变异?
r ×6
f# ×2
plotly ×2
gt ×1
image ×1
imagesharp ×1
javascript ×1
knitr ×1
plumber ×1
post ×1
r-markdown ×1
rayshader ×1
render ×1
shiny ×1
sql-server ×1
unicode ×1