小编Roy*_*lue的帖子

如何在Jupyter笔记本单元格中制作一个大图,在输出到html时可滚动

如您所知,当您在Jupyter Notebook单元格中打印一个大表时,无论表格是在Notebook环境中打印还是保存到html文件,当它太大时,它都会自动水平或垂直滚动​​.

但是对于图来说,当它太大时,它可以作为一个大表滚动,但只有当它在Notebook环境中打印时才可以滚动.当它保存到html文件时,整个图形适合较小的区域,因此使读取轴标记非常困难.

我怎样才能做到这一点?

例如,在Notebook中,如果单击图形的左下边框,则会在右侧和底部获得滚动条.

在此输入图像描述

但是当输出到html文件时,整个图形被填充到"画布"中,如下所示:

在此输入图像描述

html figure jupyter jupyter-notebook

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

在 Julia 中转换 DataFrame 时如何跳过缺失值

我想转换 Julia DataFrames.DataFrame 中一列中的每个元素,但这样做时跳过缺失值(让它们完整地保留在表中)。

作为一个简单的例子,我们可以这样做:

using DataFrames, DataFramesMeta

@linq DataFrame(mode=[1,2,missing]) |>
transform(
    mode = map(x->(if x === missing missing elseif x in ([0:5...]) x+1 else missing end), :mode)
)
Run Code Online (Sandbox Code Playgroud)

但它看起来或多或少杂乱无章。会有更优雅或更简洁的方式吗?

我阅读了 Query.jl 和 DataFramesMeta.jl 文档,希望找到一种方法,通过该方法,我不必显式地编写跳过缺失值的代码。

编辑: 我认为以下是我能想到的最好的:

using DataFrames, DataFramesMeta, DataValues

skipmap(f, c) = map(x->(if x===missing missing else f(x) end), c)

@linq DataFrame(mode=[1,2,missing]) |>
transform(
    mode = skipmap(x->if x in ([0:5...]) x+1 else x end, :mode)
)
Run Code Online (Sandbox Code Playgroud)

我认为如果 map() 以接受第三个参数 y(因此是 map(f,c,y))的方式进行扩展,并且如果这些元素属于 y,则它们在数组中保持完整,那将会很棒。

missing-data dataframe julia

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

带有bokeh vbar图的分类y轴和日期时间x轴

我想使用bokeh绘制vbar图,其中x轴使用日期时间,y轴使用分类值。

最初,我尝试如下绘制圆形图:

import pandas as pd
from datetime import datetime
from dateutil.parser import parse    
from bokeh.plotting import figure, show, output_notebook    
from bokeh.models.ranges import FactorRange

x = pd.Series(['2017/1/1', '2017/1/2', '2017/1/3', '2017/1/4']).map(lambda x: parse(x))
y = ["a", "b", "c", "a"]

p = figure(x_axis_type='datetime', y_range=list(set(y)), plot_width=400, plot_height=200)
p.circle(x, y, size=10, line_color="blue", line_width=1)
show(p)
Run Code Online (Sandbox Code Playgroud)

看起来不错,除了它不是条形的。

在此处输入图片说明

接下来,我尝试了以下代码,但未显示任何图:

x = pd.Series(['2017/1/1', '2017/1/2', '2017/1/3', '2017/1/4']).map(lambda x: parse(x))
y = ["a", "b", "c", "a"]

p = figure(x_axis_type='datetime', y_range=list(set(y)), plot_width=400, plot_height=200)
p.vbar(x=x, bottom=0, top=y, width=0.1, color="blue")

show(p)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python datetime bar-chart bokeh

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