【问题标题】:Holoviews; timeseries plot does not show全息视图;时间序列图不显示
【发布时间】:2021-03-23 21:43:03
【问题描述】:

美好的一天。我正在尝试用 20 亿点的大数据绘制时间序列,并将该图嵌入到 PyQt5 中。 Holoviews 手册有关于处理大数据Working with large data using datashader 的整个部分。我正在使用本章中的时间序列示例,但是当我运行它时,情节没有显示。我从 VS Code 尝试了 python 并从 Jupyter notebook 运行 python。我错过了一些东西......

import datashader as ds
import numpy as np
import holoviews as hv
import pandas as pd

from holoviews import opts
from holoviews.operation.datashader import datashade, shade, dynspread, spread, rasterize
from holoviews.operation import decimate

hv.extension('bokeh','matplotlib')

def time_series(T = 1, N = 100, mu = 0.1, sigma = 0.1, S0 = 20):  
    """Parameterized noisy time series"""
    dt = float(T)/N
    t = np.linspace(0, T, N)
    W = np.random.standard_normal(size = N) 
    W = np.cumsum(W)*np.sqrt(dt) # standard brownian motion
    X = (mu-0.5*sigma**2)*t + sigma*W 
    S = S0*np.exp(X) # geometric brownian motion
    return S

points = [(0.1*i, np.sin(0.1*i)) for i in range(100)]
hv.Curve(points)

hv.HoloMap({i: hv.Curve([1, 2, 3-i], group='Group', label='Label') for i in range(3)}, 'Value')

dates = pd.date_range(start="2014-01-01", end="2016-01-01", freq='1D') # or '1min'
curve = hv.Curve((dates, time_series(N=len(dates), sigma = 1)))
rasterize(curve, width=800).opts(width=800, cmap=['blue'])

【问题讨论】:

    标签: plot time-series holoviews


    【解决方案1】:

    在 Jupyter Notebook 中对我来说很好用:

    除非您可以嵌入网络浏览器或导出静态(不可缩放)版本,否则您不应期望它在 Qt 中工作。

    【讨论】:

    • 感谢您的帮助!我试着只在工作室和 Jupyter Notebook 上运行。也看不到 Jupyter 笔记本中的情节。是的,最终,我将尝试使用 QtWebEngineWidgets 小部件嵌入 PyQt5。我将在另一台机器上尝试 Jupyter。
    • 如果您可以在github.com/holoviz/holoviews/issues 制作一个可重现的示例(列出所有涉及的版本),那么我们可以调查您遇到此问题的原因...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 2015-10-24
    相关资源
    最近更新 更多