小编5th*_*5th的帖子

获取 pydantic 类的所有字段名称的简短方法

该类的最小示例:

from pydantic import BaseModel

class AdaptedModel(BaseModel):
    def get_all_fields(self, alias=False):
        return list(self.schema(by_alias=alias).get("properties").keys())

class TestClass(AdaptedModel):
    test: str
Run Code Online (Sandbox Code Playgroud)

它的工作原理:

dm.TestClass.get_all_fields(dm.TestClass)
Run Code Online (Sandbox Code Playgroud)

有没有办法让它发挥作用而不需要再次上课?

获取所有字段名称所需的方式:

dm.TestClass.get_all_fields()
Run Code Online (Sandbox Code Playgroud)

如果将字段名称分配给属性,它也会起作用。只要有办法让它更具可读性

python oop pydantic

31
推荐指数
2
解决办法
4万
查看次数

add_trace:控制颜色

我有一个图,其中第一条迹线为灰色,该迹线将被其他颜色的迹线覆盖。我的问题是在plotly4.7.1 版本中。以及 4.8.0 版本。我无法调整颜色。

一年前这段代码可以工作:

mysim=data.frame(x=rep(1:4,4),y=rbinom(16,10,0.5),id=rep(1:4,each=4))

my_colors<-c(             ## add the standard plotly colors
        '#1f77b4',  #// muted blue
         '#ff7f0e',  #// safety orange
         '#2ca02c',  #// cooked asparagus green
         '#d62728'  #// brick red
             ) 


plot_ly() %>%
 add_trace(x=1:4,y=rbinom(4,10,0.4),type='scatter',mode='lines',
            line=list(color='#CCCCCC',dash='dashed'),hoverinfo='skip',opacity=0.25) %>% 
  add_trace(data=mysim,x=~x,y=~y,type='scatter',mode='lines', split=~as.factor(id),
            line=list(color=my_colors),hoverinfo='skip',opacity=1) 
Run Code Online (Sandbox Code Playgroud)

遗憾的是我不再拥有那台机器了。plotly但从那时起似乎发生了一些变化。我还尝试使用color参数而split不是colors-listline来指定颜色。它没有任何影响。我仍然明白这个情节:在此输入图像描述

我在这里缺少什么?我怎样才能让它发挥作用?

r colors plotly r-plotly

6
推荐指数
1
解决办法
2万
查看次数

R Plotly 设置默认调色板

在 R 中,如何为所有绘图设置默认调色板?我知道plot_ly()您可以设置colors=palette,但这仅适用于散点图,不适用于线图。对于线图,您必须单独设置每条迹线的颜色。

r plotly

5
推荐指数
1
解决办法
4618
查看次数

将plotly html嵌入到reveal.js-presentation中

我正在构建一个 Reveal.js 演示文稿。我有一张图表,需要预先显示。然而,该图只是稍后生成的。因此我将其保存为html。并使用以下方式加载它:

<style>
  .p_iframe iframe {
    width:90%;
    height:576px;
}
</style>

<div class="p_iframe">
<iframe frameborder="0" seamless='seamless' scrolling=no src="test.html"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

然而,如果我在 Opera、Firefox 或 MS Edge 中打开,这会切断图例。但如果我使用iframe没有div图表的尺寸不正确。如何修改csshtml以使图表正确加载?我需要用浏览器打开演示文稿。

更新:该图似乎可以在 Firefox 中运行,也可能在 Chrome 中运行。感谢 DJack 指出这一点。是否有任何替代代码可以使其在其他较少使用的浏览器(例如 MS Edge 或 Opera)中工作?

在此输入图像描述

对于iframe-options 我使用这个plotly help-page。有一个关于如何嵌入plotly的html版本 - 但我不明白如何修改它,这样我就可以从本地驱动器加载plotly-html。

我使用以下 Rmd 协议生成了图表和 html:

---
title: "Untitled"
output: revealjs::revealjs_presentation
---

## Slide with R Code and Output
```{r}
library(plotly)

trace_0 <- rnorm(100, mean = 5)
trace_1 …
Run Code Online (Sandbox Code Playgroud)

html css r reveal.js plotly

5
推荐指数
0
解决办法
2844
查看次数

离线导出plotly为网页而不包含plotly JS?(R ggplot2)

我知道要在 python 中导出,另一个堆栈交换帖子说:

plotly.offline.plot(data, include_plotlyjs=False, output_type='div')
Run Code Online (Sandbox Code Playgroud)

R有这样的东西吗?

当我另存为网页时,它是一个充满 JavaScript 的大文件。

我想使用他们的 javascript

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

然后有一个小div id或无论你怎么称呼它。

做这个的最好方式是什么?

编辑:我知道它可以导出为 HTML,但这些 HTML 文档很大(3 兆字节或更多),因为它们包含 javascript。有没有办法在没有plotly javascript的情况下导出它们,然后只使用上面的CDN脚本来调用javascript?

html javascript r plotly r-plotly

5
推荐指数
0
解决办法
1183
查看次数

在绘图中定位下拉菜单

我想在图例下放置一个下拉菜单。但是,根据分辨率的大小,plotly更改此下拉列表的位置(参见上传的图片)。

第一个图显示了输出,就像 Rstudio 小绘图选项卡中显示的那样。第二个显示如果我切换到全屏,下拉菜单会向右移动多远。

如何固定下拉菜单的位置?任何解决方案都值得赞赏,无论是htmlR还是其他任何解决方案

下拉菜单太左

下拉菜单太靠右

您可以在下面找到我用来创建绘图的代码:

library(plotly)
x <- seq(-2 * pi, 2 * pi, length.out = 1000)
df <- data.frame(x, y1 = sin(x), y2 = cos(x),tan_h=tanh(x))

p <- plot_ly(df, x = ~x) %>%
  add_lines(y = ~y1, name = "sin") %>%
  add_lines(y = ~y2, name = "cos") %>%
  add_lines(y = ~tan_h, name='tanh',visible=FALSE) %>%
  layout(
    title = "Drop down menus - Styling",
    xaxis = list(domain = c(0.1, 1)),
    yaxis = list(title = "y"),
    updatemenus …
Run Code Online (Sandbox Code Playgroud)

html css r plotly

5
推荐指数
1
解决办法
4460
查看次数

仅加载一个函数的依赖项

我正在创建一个包含一些功能的包。只需要一项辅助功能plotly

但是,当我使用安装时,devtools我收到一条注释unused arguments in layout(yaxis = ay,...然后我阅读了Hadley 的关于vs 的文章importsdepends。使用 import 不会删除注释,但在 NAMESPACE 文件中添加plotlywith可以解决问题。depends

接下来我读了有关“搜索路径”的段落。哈德利在这里指出

您永远不应该在包中使用 require() 或library():相反,请使用描述中的 Depends 或 Imports 字段

我现在的问题是,使用的功能plotly更多的是软件包的附加组件。所有其他(更重要的)功能都可以与 base-R 一起使用。因此我plotly只想将其用于需要它的一个功能。

  1. 是否可以在 期间不创建注释install
  2. 为什么包装内的require东西这么坏?library
  3. requireNamespace先用然后再用可以吗require

这是一些示例代码:

#' Some plotly function
#'
#' Some very long description
#'
#' @param x_vec A numeric vector
#' @param y_vec A numeric vector
#' @keywords …
Run Code Online (Sandbox Code Playgroud)

r devtools roxygen2 plotly

3
推荐指数
1
解决办法
645
查看次数

Dockerfile:Bash 导出语句不起作用

我使用 dockerfiles 创建容器。我了解 docker,但我对 bash 的了解非常有限。我知道这个问题可能是重复的,但我不明白要搜索什么。

问题 该步骤RUN export A_NUM=$(echo ${A_VERSION} | head -c 3)不起作用。即使它bash完美地工作。我试过:

  1. 环境ENV A_VERSION=$A_VERSION
  2. 在 bash 中复制我的问题(通过进入内置容器)

exportdockerfile 中的任何声明似乎都是徒劳的 - 有人能解释一下吗?

环境

我有app_A和app_B。当我配置 app_B 时,我需要考虑所选的 app_A 版本。简化的 dockerfile 如下所示:

FROM openjdk:8-jdk-slim

ARG A_VERSION=3.1.3
# RUN install app_A with A_VERSION 
# RUN install app_B
 
WORKDIR /HOME/A_USER
USER A_USER

# RUN set some environment variables for app_A


RUN export A_NUM=$(echo ${A_VERSION} | head -c 3) 
RUN echo $A_NUM

RUN if awk 'BEGIN {exit …
Run Code Online (Sandbox Code Playgroud)

bash docker dockerfile

1
推荐指数
1
解决办法
2379
查看次数

标签 统计

plotly ×6

r ×6

html ×3

css ×2

r-plotly ×2

bash ×1

colors ×1

devtools ×1

docker ×1

dockerfile ×1

javascript ×1

oop ×1

pydantic ×1

python ×1

reveal.js ×1

roxygen2 ×1