Я хочу визуализировать аудиодатику в потоковой связи с двумя отдельными графиками сюжета: один для формы волны доменного домена и один для MFCC (коэффициенты Cepstral Cepstral Mel-частота). Я хочу связать их x-оси , чтобы увеличить или панорамировать обновления одного сюжета обновления другого, сохраняя их синхронизированные. Неправильно.
), чтобы избежать загрузки файлов. Это создает две сюжетные диаграммы, но масштабирование одной не влияет на другую. Как я могу связать их оси x для увеличения/pan?
if "x_range" not in st.session_state:
st.session_state.x_range = None
def update_range(change):
if change and "xaxis.range[0]" in change:
st.session_state.x_range = [change["xaxis.range[0]"], change["xaxis.range[1]"]]
st.plotly_chart(fig1, key="time", on_change=update_range)
< /code>
Это иногда работает, но часто терпит неудачу из-за воспроизведения Streamlit. Есть ли лучший способ обработки событий RelayoutData, подобных RELayoutData, в Streamlit? Streamlit Run test_streamlit.py
Я хочу визуализировать аудиодатику в потоковой связи с двумя отдельными графиками сюжета: один для формы волны доменного домена и один для MFCC (коэффициенты Cepstral Cepstral Mel-частота). Я хочу связать их x-оси , чтобы увеличить или панорамировать обновления одного сюжета обновления другого, сохраняя их синхронизированные. Неправильно.[code]trumpet[/code]), чтобы избежать загрузки файлов. Это создает две сюжетные диаграммы, но масштабирование одной не влияет на другую. Как я могу связать их оси x для увеличения/pan? [code]import streamlit as st import librosa import numpy as np import plotly.graph_objects as go
st.title("Audio Plots")
# Load Librosa example audio audio, sr = librosa.load(librosa.ex('trumpet')) duration = len(audio) / sr time_axis = np.linspace(0, duration, len(audio))
st.write(f"Duration: {duration:.2f}s, Samples: {len(audio)}, MFCC Frames: {mfccs.shape[1]}") [/code] Что я попробовал:
[*] Использование make_subplots (shared_xaxes = true) , но я хочу отдельные сюжеты для гибкости макета. /> < /ul> [code]if "x_range" not in st.session_state: st.session_state.x_range = None def update_range(change): if change and "xaxis.range[0]" in change: st.session_state.x_range = [change["xaxis.range[0]"], change["xaxis.range[1]"]] st.plotly_chart(fig1, key="time", on_change=update_range) < /code> Это иногда работает, но часто терпит неудачу из-за воспроизведения Streamlit. Есть ли лучший способ обработки событий RelayoutData, подобных RELayoutData, в Streamlit? Streamlit Run test_streamlit.py [/code]
Мне интересно, как я могу построить несколько оси y, используя Altair на потоковой линии.
import pandas as pd
import numpy as np
import altair as alt
import streamlit as st
У меня есть очень длинные данные временных рядов (миллионы точек данных), и на основе этих данных я генерирую интерактивные графики в формате HTML. Я использую Scattergl из файла Graphical_obects в Plotly.
Когда я пытаюсь увеличить масштаб этих...
У меня есть очень длинные данные временных рядов (миллионы точек данных), и на основе этих данных я генерирую интерактивные графики в формате HTML. Я использую Scattergl из файла Graphical_obects в Plotly.
Когда я пытаюсь увеличить масштаб этих...