我一直在使用Rmarkdown生成的flexdashboard,但是有一些绘图无法显示的问题。经过大量测试,我确定我发送给以下图的class Vending_slot:
def __init__(self, product, stock, price):
self.product = product
self.stock = stock
self.price = price
def dispense_item(self):
print(f"You bought a {self.items[0]}.")
self.items = items[1]
machine = []
machine.append(Vending_slot("A1", ["Coke","Coke","Coke"], 1.5))
machine.append(Vending_slot("A2", ["Water","Water","Water"], 0.5))
machine.append(Vending_slot("B1", ["Twix","Twix","Twix"], 1))
machine.append(Vending_slot("B2", ["Gum","Gum","Gum"], 0.8))
print(machine)
参数引起了问题:
color =
p1 <- plot_ly(coursetable2,
x = ~title,
color = ~open+enrolled,
y = ~percent,
type = 'bar',
name = 'Seats Taken',
text =~paste('Seats Taken: ', enrolled, '</br> Open Seats: ' , open))
p1
和open
变量是连续的数值。
该图在RStudio中生成良好,但在编织文件后无法显示在生成的html文件中。
很奇怪,这也使同一文件中的enrolled
图无法显示在最终的html文件中。 leaflet
绘图代码如下:
leaflet
我收到的警告说:
textfont.color不支持数据数组
当我从上述代码中为mytext<-paste("City: ", maptable$name, "<br/>", "People: ",
maptable$val, "<br/>", sep="") %>%
lapply(htmltools::HTML)
pal<-colorNumeric(
palette = "viridis",
domain = maptable$val)
leaflet(maptable) %>%
addTiles() %>%
setView( lat=41.5, lng=-73 , zoom=8) %>%
addProviderTiles("OpenStreetMap.BlackAndWhite") %>%
addCircleMarkers(~long, ~lat,
fillOpacity = 0.7, color=~pal(val), radius=~sqrt(val)+5, stroke=FALSE,
label = mytext,
labelOptions = labelOptions( style = list("font-weight" = "normal",
padding = "3px 8px"), textsize = "13px", direction = "auto")
)
图取色参数时,所有图形都会显示。
如果按照下面的代码定义调色板,则所有图都可以正常生成。
p1
这解决了我遇到的颜色问题,但是我为为什么在原始代码中传递color参数失败而感到困惑。以及为什么在这种情况下两个图都失败了。我的解决方案是将连续变量传递给条形图的color参数的理想解决方案吗?
提前谢谢!