我有一个 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) 我似乎无法弄清楚在参数化类中使用 FileInput 小部件的人触发函数的语法。
我知道 FileInput 本身不是一个参数,但我查看了它的代码,并且 value 属性是一个通用的 param.Parameter,所以我认为这会起作用。我也尝试过仅依赖于文件 ( @param.depends('file'))。
class MyFile(param.Parameterized):
file = pn.widgets.FileInput() # should be a param.?
file_data = None
@param.depends('file.value')
def process_file(self):
print('processing file')
self.file_data = self.file.value
my_file = MyFile()
Run Code Online (Sandbox Code Playgroud)
然后,使用文件控件后,我希望my_file.file_data有相同内容self.file.value。
感谢任何输入,或者是否有人可以将我指向适当的文档。谢谢!
我已经弄清楚如何使matplotlib图表可单击,以便我可以单击一个点并根据该点的元数据创建一个新图,遵循此处的答案。
现在是时候将可点击的绘图放入Panel仪表板中了。明显的举动是将该数字添加到panel.Row. 虽然这显示了该图,但我没有得到交互性。
import matplotlib.pyplot as plt
import panel as pn
class custom_objects_to_plot:
def __init__(self, x, y, name):
self.x = x
self.y = y
self.name = name
a = custom_objects_to_plot(10, 20, "a")
b = custom_objects_to_plot(30, 5, "b")
c = custom_objects_to_plot(40, 30, "c")
d = custom_objects_to_plot(120, 10, "d")
def on_pick(event):
my_fig, my_ax = plt.subplots() # New plot with unique name
my_ax.scatter([1, 2, 3, 4], [5, 6, 7, 8]) # Make the scatterplot
my_fig.show() …Run Code Online (Sandbox Code Playgroud) 我正在使用 Parameterized Class 构建带有 Panel Holoviz 的仪表板。
在本课程中,我想要一个按钮,当按下该按钮时开始训练模型,当模型完成训练时,它需要显示基于该模型的图表。
如何使用类在面板中构建此类依赖关系?
panel-pyviz ×4
python ×4
pyviz ×3
holoviz ×2
data-science ×1
holoviews ×1
matplotlib ×1
parameters ×1
plot ×1