Python + Chaco + Traits-渲染错误:大数据的线图意外填充?

斯道

使用下面的最小示例,我得到的一个大型(大约110k点)图的折线图(使用python 2.7,numpy 1.5.1,chaco / enable / traits 4.3.0)是:

chaco01

但是,这很奇怪,因为它是一个线图,并且那里不应该有任何填充区域?特别是由于数据是锯齿状信号?好像在y〜= 37XX处有一行,上面有颜色填充吗?但是可以肯定的是,如果我放大一个区域,则可以得到期望的渲染-没有意外的填充:

chaco02

这是一个错误-还是我做错了什么?我尝试使用use_downsampling,但这没什么关系...

测试代码:

import numpy as np
import numpy.random as npr
from pprint import pprint
from traits.api import HasTraits, Instance
from chaco.api import Plot, ArrayPlotData, VPlotContainer
from traitsui.api import View, Item
from enable.component_editor import ComponentEditor
from chaco.tools.api import PanTool, BetterSelectingZoom

tlen = 112607
alr = npr.randint(0, 4000, tlen)
tx = np.arange(0.0, 30.0-0.00001, 30.0/tlen)
ty = np.arange(0, tlen, 1) % 10000 + alr
pprint(len(ty))


class ChacoTest(HasTraits):

  container = Instance(VPlotContainer)
  traits_view = View(
    Item('container', editor=ComponentEditor(), show_label=False),
    width=800, height=500, resizable=True,
    title="Chaco Test"
  )

  def __init__(self):
    super(ChacoTest, self).__init__()
    pprint(ty)
    self.plotdata = ArrayPlotData(x = tx, y = ty)
    self.plotobj = Plot(self.plotdata)
    self.plotA = self.plotobj.plot(("x", "y"), type="line", color=(0,0.99,0), spacing=0, padding=0, alpha=0.7, use_downsampling=True)
    self.container = VPlotContainer(self.plotobj, spacing=5, padding=5, bgcolor="lightgray")
    #~ container.add(plot)
    self.plotobj.tools.append(PanTool(self.plotobj))
    self.plotobj.overlays.append(BetterSelectingZoom(self.plotobj))

if __name__ == "__main__":
  ChacoTest().configure_traits()
乔纳森·罗彻

我能够重现该错误并与John Wiggins(Enable的维护者)交谈,这是kiva中的一个错误(chaco用来在屏幕上绘画):https : //github.com/enthought/enable好消息是这是您可以使用的kiva后端之一中的错误。因此,要解决此问题,您可以选择其他后端来运行脚本:

ETS_TOOLKIT=qt4.qpainter python <NAME OF YOUR SCRIPT>

如果使用qpainter或quartz,则该图看起来(在我的计算机上)符合预期。如果选择qt4.image(Agg后端),则将重现该问题。不幸的是,Agg后端是默认后端。要更改此设置,可以将ETS_TOOLKIT环境变量设置为该值:

export ETS_TOOLKIT=qt4.qpainter

坏消息是解决这个问题将不是一件容易的事。如果您想参与其中,请随时报告github中的错误(再次https://github.com/enthought/enable)。如果没有,我会在接下来的几天内记录下来。感谢您举报!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有什么可行的方法来接收异步数据源以使用Chaco进行绘图?

来自分类Dev

Chaco-获取多个数据系列以使用相同的轴和贴图

来自分类Dev

Chaco条形图

来自分类Dev

Chaco和wxpython集成?

来自分类Dev

Chaco图上的Xlabel而不创建新轴

来自分类Dev

Chaco Legend中的自定义标签

来自分类Dev

Chaco图上的Xlabel而不创建新轴

来自分类Dev

致命错误:在构建clang示例时,找不到'type_traits'文件#include <type_traits>

来自分类Dev

错误C2039:“ type_name”:不是“ swig :: traits <Bar>”的成员

来自分类Dev

严重错误:找不到'type_traits'文件-Qt 5.14 Preview Android

来自分类Dev

致命错误:ext / type_traits.h:没有这样的文件或目录

来自分类Dev

错误:在“class date::year_month_day”中没有名为“_traits”的类型?

来自分类Dev

UDA opCall __traits

来自分类Dev

意外的类型错误python

来自分类Dev

Python数据框累积线图

来自分类Dev

Python大数据矩阵操作

来自分类Dev

python中的大数据转换

来自分类Dev

std type_traits 与 Qt type_traits 冲突

来自分类Dev

标准容器的type_traits?

来自分类Dev

Generic field validation with traits in Lift

来自分类Dev

遍历function_traits参数

来自分类Dev

使用 Python 错误填充 PostgreSQL 数据库

来自分类Dev

填充python字典错误

来自分类Dev

填充python字典错误

来自分类Dev

如何使用Python或R集群大数据而不会出现内存错误?

来自分类Dev

具有特殊字符的大数据自由文本-通过Python搜索并出现unicode错误

来自分类Dev

如何在导致python脚本错误的大数据上找到特定行?

来自分类Dev

TDD与python,意外的unittest错误

来自分类Dev

TDD与python,意外的unittest错误

Related 相关文章

热门标签

归档