Bokeh绘图API。

aplanat的Python项目详细描述


无柄

Aplanat在bokeh库周围提供了一个包装器(模板),以简化 公共地块的绘制,特别关注于在 Juypyter笔记本电脑环境。在

安装

Aplanat很容易按照标准python传统进行安装:

git clone --recursive https://github.com/epi2me-labs/aplanat.git
cd aplanat
pip install -r requirements.txt
python setup.py install

或通过pip:

^{pr2}$

使用

Aplanat并不试图成为所有人的一切;这两者都是力量 以及一些绘图库的倒塌。过于笼统的线索 混淆文档和样板代码。和开发商一样多 喜欢ggplotggplot的声明性质,aplanat避开了这种方法 为了寻找更透明的东西---aplanat不想太透明 聪明地处理你的数据。话虽如此,layouts模块确实如此 提供直接从数据帧创建方面网格的模板。在

相反,他试图尽可能简单地构建共同的情节 通过将用户输入的数据直接转换成显示的数据。大多数阴谋 函数的形式如下:

plot = plot_function(
    [series_1_x, series_2_x, ...], [series_1_y, series_2_y, ...],
    name=[series_1_name, series_2_name, ...],
    colors=[series_1_color, series_1_color, ...])

下面是一些例子,绘制核密度估计值(简单的直线图 计算了数据的转换):

import aplanat
from aplanat import lines, util
data = [....]  # a list or numpy array
x_grid, pdf = util.kernel_density_estimate(data)
plot = lines.line([x_grid], [pdf])
aplanat.show(plot)  # to show the plot in a notebook

添加轴和打印标题:

plot = lines.line(...,
   title='Chart title', x_axis_label='x-axis', y_axis_label='y-axis')

要绘制多个序列,只需扩展给参数的列表(这个 时间使用点):

from aplanat import points
x0, y0 = [...], [...]
x1, y1 = [...], [...]
plot = points.points([x0, x1], [y0, y1])

绘制直方图:

from aplanat import hist
data = [...]   # a list or numpy array
plot = hist.histogram([data], bins=400)

一个简单的条形图,用于说明组的计数:

groups = [...]
counts = [...]
plot = bars.simple_bar(groups, counts)

说明变量分布如何变化的一组方框图(y轴) 使用第二个分组变量(x轴):

from aplanat import bars
values = [...] 
groups = [...]  # as long as `values`, indicating the group for each value
plot = bars.boxplot_series(groups, values)

使用六边形的binning绘制一张热图(最近似乎很流行):

from aplanat import spatial
x_values = [...]
y_values = [...]
plot = spatial.hexmap(x_values, y_values)

要显示多个绘图,请使用aplanat.grid而不是aplanat.show

plots = [hist.histogram(x) for x in (...)]
aplanat.grid(plots, ncol=3)

这些图将按行填充网格显示。在

ggplot like facet_grid

上面所有的例子都展示了所有基本的绘图功能 透明地将矢量输入转换为绘图变量。提供 更高级别的接口layouts模块提供了 创建更高级(多)绘图。例如,一个常见的绘图是 使用由两个方面分隔的数据创建布局的基本打印类型的步骤 在网格中。facet_grid函数将接受pandas数据帧 然后执行这个操作。在

from aplanat.layouts import facet_grid
transform= lambda z: z
plot = facet_grid(
    data_frame,
    {'x':'x_variable', 'y':'y_variable', 'col':'colour_variable'},
    lines.line,  # the plot type
    xlim=(0, None), ylim=(0, None),
    transform=(transform, transform),
    facet=('X facet', 'Y facet'),
    height=300, width=300,
    x_facet_heading='X Facetlabel',
    y_facet_heading='Y Facet label',
    x_axis_label='x-axis plot label',
    y_axis_label='y-axis plot label')

transform回调函数可用于转换x和y数据 对于每个子批次,在它被选中之后,允许任意操作。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将元素从一个ArrayList添加到另一个ArrayList?   oop java中的setter和getter有什么意义?   java如何在循环中添加用户输入?   java在没有maven jetty的情况下从命令行运行war   数组@override to。字符串仅打印出默认构造函数java hw   java获取mysql中两天之间的天数名称   java如何使用属性值从一个方法到另一个方法   java如何在MULE中进入流程中间,并将消息返回给客户端。。?   java有没有办法将EncryptedSharedReference与PreferenceScreen集成?   java在shell脚本中嵌入可执行二进制文件   “TypeError:form.set不是函数”Java无法访问FormData的函数   java扫描器。下一行输入与字符串不匹配   java正在将数组初始化为null,但null比较失败   java不支持线程。sleep()是否防止堆栈溢出错误?   java重用SQLite连接还是每次重新连接?   Spring安全中Web忽略和Http允许之间的java差异?   从Java到JSON的转换   java如何在关闭应用程序后停止意向服务   javalibgdx:如何从core访问xml文件?