当我使用 Pandas 时,df.plot()
它有 matplotlib 作为默认绘图后端。但这会创建静态图。
我想要交互式绘图,所以我必须更改熊猫绘图背景。
当我使用 .plot() 时,如何更改 Pandas 的绘图后端以使用不同的库来创建我的绘图?
我使用 SQLFluff 来确保公司的语法统一,并在 dbt 中运行模型之前减少错误警告。由于我们的语法与 SQLFluff 的语法不完全匹配,我想进行一些更改。
SQLFluff 提供的规则参考帮助我设置了内联忽略错误,如下面的代码(最后一行代码)所示。
所以我有两个问题,在 SQLFluff 规则参考的帮助下我也无法回答。
我想将规则L032设置为默认“false”,而无需每次在 SQL 中手动输入。
如何更改有关规则L016的行的最大长度?我想设置默认值,例如 150。
SELECT
country.country_name,
country.population,
currency.currency_name,
currency.currency_id,
currency.strange_long_variable_name_which_is_too_long as not_so_long_variable_name
FROM country
LEFT JOIN currency
USING (country) -- noqa: L032
Run Code Online (Sandbox Code Playgroud)
我试图通过规则参考来解决这个问题,但无法解决。非常感谢帮助!
我有一个 Select 小部件,当另一个 Select 小部件更改时,它应该提供不同的选项列表,因此只要其他 Select 小部件发生更改,它就会更新。我如何在下面的示例代码中执行此操作?
_countries = {
'Africa': ['Ghana', 'Togo', 'South Africa'],
'Asia' : ['China', 'Thailand', 'Japan'],
'Europe': ['Austria', 'Bulgaria', 'Greece']
}
continent = pn.widgets.Select(
value='Asia',
options=['Africa', 'Asia', 'Europe']
)
country = pn.widgets.Select(
value=_countries[continent.value][0],
options=_countries[continent.value]
)
@pn.depends(continent.param.value)
def _update_countries(continent):
countries = _countries[continent]
country.options = countries
country.value = countries[0]
pn.Row(continent, country)
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置 sqlfluff,但对于我们所有的查询,它在运行时总是返回此值sqlfluff fix
[1 templating/parsing errors found]
Run Code Online (Sandbox Code Playgroud)
有什么方法可以强制它告诉我发生的错误吗?我尝试在最高详细级别上运行它,但没有记录任何有用的信息。
我想使用 Holoviews/hvplot 基于一维将多个数据绘制到网格中,其中包含多个唯一的数据点。
考虑这个例子:
import seaborn as sns
import hvplot.pandas
iris = sns.load_dataset('iris')
plot = iris.hvplot.scatter(x="sepal_length", y="sepal_width", col="species")
hvplot.show(plot)
Run Code Online (Sandbox Code Playgroud)
上面的代码根据鸢尾花数据集的物种部分创建了几个图,结果如下图:
但现在想象一下,这里不是 3 个不同的物种,而是 20 个。情节会变得很宽,所以我想在几个情节之后打破界限。但我找不到任何“最大列”参数。普通网格需要另一列来定义我没有的行。
任何建议都会有所帮助。
我正在使用 Holoviews 构建图表仪表板。其中一些图表在 y 轴上有百分比,而其他图表有总和/计数等。当我尝试将我创建的所有图表输出到 html 文件时,所有图表都会更改它们的 y 轴以匹配第一个图表的轴我的图表列表。
例如:
当我使用以下方法在全息视图中组合这些图表时:
图 2 和图 3 的 y 轴与图 1 相同。
有谁知道为什么会发生这种情况以及我如何解决它,以便所有图表保持其各自的轴与它们试图表示的内容相关。
谢谢!
我一直在尝试了解如何完成绘制两个数据集(每个数据集具有不同颜色)这一非常简单的任务,但我在网上发现的任何内容似乎都无法做到这一点。这是一些示例代码:
import pandas as pd
import numpy as np
import holoviews as hv
from holoviews import opts
hv.extension('bokeh')
ds1x = np.random.randn(1000)
ds1y = np.random.randn(1000)
ds2x = np.random.randn(1000) * 1.5
ds2y = np.random.randn(1000) + 1
ds1 = pd.DataFrame({'dsx' : ds1x, 'dsy' : ds1y})
ds2 = pd.DataFrame({'dsx' : ds2x, 'dsy' : ds2y})
ds1['source'] = ['ds1'] * len(ds1.index)
ds2['source'] = ['ds2'] * len(ds2.index)
ds = pd.concat([ds1, ds2])
Run Code Online (Sandbox Code Playgroud)
目标是在单个框架中生成两个数据集,并用一个分类列来跟踪源。然后我尝试绘制散点图。
scatter = hv.Scatter(ds, 'dsx', 'dsy')
scatter
Run Code Online (Sandbox Code Playgroud)
这按预期工作。但我似乎无法理解如何根据source
列对两个数据集进行不同的着色。我尝试了以下方法:
scatter = hv.Scatter(ds, 'dsx', 'dsy', color='source') …
和包一起工作streamz
,hvplot
为使用 pandas 数据帧绘制流数据提供支持。
例如,该streamz
包有一个用于创建随机流数据帧的便利实用程序:
import hvplot.streamz
from streamz.dataframe import Random
sdf = Random(interval='200ms', freq='50ms')
sdf
# Stop the streaming with: sdf.stop()
Run Code Online (Sandbox Code Playgroud)
可以使用以下命令在流图表中简单地绘制此图hvplot
:
sdf.hvplot()
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以从预先存在的pandas
数据帧中传输数据?
例如,我希望能够这样说:
import pandas as pd
df=pd.DataFrame({'a':range(0,100),'b':range(5,105)})
sdf = StreamingDataFrame(df, interval='200ms', freq='50ms')
Run Code Online (Sandbox Code Playgroud)
然后,我可以简单地使用预先存在的pandas
数据帧中的示例数据,而不是使用随机示例数据。
我的 hvplot 有默认的平移和滚轮缩放作为缩放和移动图形的方式。
但我希望框缩放成为我的图表中的默认值。
如何在 hvplot 或 Holoviews 中执行此操作?
import numpy as np
import pandas as pd
import holoviews as hv
import hvplot
import hvplot.pandas
df = pd.DataFrame(data=np.random.normal(size=[50, 2]), columns=['a', 'b'])
df_plot = df.hvplot.scatter(x='a', y='b')
Run Code Online (Sandbox Code Playgroud)
当使用基于 xArray 数据的 HoloViews 创建绘图 (QuadMesh) 时,任何缺失的维度都会自动创建滑块等小部件以方便数据探索。例如:
hv_ds = hv.Dataset(data)
plot = hv_ds.to(hv.QuadMesh, kdims=["lon", "lat"], vdims="depth")
Run Code Online (Sandbox Code Playgroud)
由于数据包含 12 个月的数据,HoloViews 将根据经度和纬度创建 QuadMesh,使用深度作为值,然后提供一个滑块小部件来选择月份。它将把所有内容包装在一个 HoloMap 中,如下所示:
HoloMap containing 12 items of type QuadMesh
--------------------------------------------
Key Dimensions:
month: 1.0...12.0
Deep Dimensions:
lon: -280.0...80.0
lat: -78.0...-44.6
depth: 3.5...4796.6
Run Code Online (Sandbox Code Playgroud)
我想检索“月份滑块小部件”的值以更新另一个图,但我找不到访问它的方法。没有plot.get_widget_value()
或类似的东西。有什么想法可以获取它的指针或处理程序吗?
holoviews ×8
python ×8
holoviz ×6
hvplot ×5
pandas ×2
sql ×2
sqlfluff ×2
dbt ×1
pandas-bokeh ×1
panel-pyviz ×1
postgresql ×1
pyviz ×1