该类的最小示例:
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)
如果将字段名称分配给属性,它也会起作用。只要有办法让它更具可读性
我有一个图,其中第一条迹线为灰色,该迹线将被其他颜色的迹线覆盖。我的问题是在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 中,如何为所有绘图设置默认调色板?我知道plot_ly()您可以设置colors=palette,但这仅适用于散点图,不适用于线图。对于线图,您必须单独设置每条迹线的颜色。
我正在构建一个 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图表的尺寸不正确。如何修改css或html以使图表正确加载?我需要用浏览器打开演示文稿。
更新:该图似乎可以在 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) 我知道要在 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?
我想在图例下放置一个下拉菜单。但是,根据分辨率的大小,plotly更改此下拉列表的位置(参见上传的图片)。
第一个图显示了输出,就像 Rstudio 小绘图选项卡中显示的那样。第二个显示如果我切换到全屏,下拉菜单会向右移动多远。
如何固定下拉菜单的位置?任何解决方案都值得赞赏,无论是html,R还是其他任何解决方案
您可以在下面找到我用来创建绘图的代码:
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) 我正在创建一个包含一些功能的包。只需要一项辅助功能plotly。
但是,当我使用安装时,devtools我收到一条注释unused arguments in layout(yaxis = ay,...然后我阅读了Hadley 的关于vs 的文章importsdepends。使用 import 不会删除注释,但在 NAMESPACE 文件中添加plotlywith可以解决问题。depends
接下来我读了有关“搜索路径”的段落。哈德利在这里指出
您永远不应该在包中使用 require() 或library():相反,请使用描述中的 Depends 或 Imports 字段
我现在的问题是,使用的功能plotly更多的是软件包的附加组件。所有其他(更重要的)功能都可以与 base-R 一起使用。因此我plotly只想将其用于需要它的一个功能。
install?require东西这么坏?libraryrequireNamespace先用然后再用可以吗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) 我使用 dockerfiles 创建容器。我了解 docker,但我对 bash 的了解非常有限。我知道这个问题可能是重复的,但我不明白要搜索什么。
问题
该步骤RUN export A_NUM=$(echo ${A_VERSION} | head -c 3)不起作用。即使它bash完美地工作。我试过:
ENV A_VERSION=$A_VERSIONexportdockerfile 中的任何声明似乎都是徒劳的 - 有人能解释一下吗?
环境
我有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)