更新时间:2023-11-21 16:04:40
我不确定 RMS 值的准确位置,但下面是一个示例代码,可以帮助您实现您想要的.
I am not sure where to exactly place the RMS value, but below is a sample code which will help you achieve what you want.
我们创建一个数组annotation_arr
,我们使用for循环在其中存储注释.
We create an array annotation_arr
where we store the annotations using the for loop.
我们需要为每个单独的轴设置 xval
和 yval
.请记住,第一个轴是 x
,第二个是 x2
所以,我为此写了一个三元条件,请查看下面的代码,如果有的话请告诉我问题!
We need to set the xval
and yval
for each of the individual axes. Remember, first axis will be x
, second will be x2
so, I have written a ternary condition for that, please checkout the below code and let me know if there is any issues!
import plotly.graph_objs as go
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot
from plotly import tools
import numpy as np
import pandas as pd
init_notebook_mode(connected=True)
rows = 4
figg = tools.make_subplots(rows=rows, cols=1)
fake_date = {"X": np.arange(0, 100, 0.5), "Y": [np.sin(x) for x in range(200)], "Z": [x + 1 for x in range(10)] * 20}
fake_date = pd.DataFrame(fake_date)
fake_date.sort_values("Z")
unique_ids = fake_date['Z'].unique()
train_id, test_id = np.split(np.random.permutation(unique_ids), [int(.6 * len(unique_ids))])
top = 0
annotation_arr = []
for i, j in enumerate(test_id):
x_test = fake_date[fake_date['Z'].isin([test_id[i]])]
y_test = fake_date[fake_date['Z'].isin([test_id[i]])]
# Evaluate
rms_test = 0.04
r_test = 0.9
Real = {'type' : 'scatter',
'x' : x_test.X,
'y' : x_test.Y,
"mode" : 'lines+markers',
"name" : 'Real'}
top = top + 1/rows
i_val = "" if i == 0 else i + 1
annotation_arr.append(dict(x = r_test,y = top, text= rms_test, xref= "x"+str(i_val),yref="y"+str(i_val)))
figg.append_trace(Real, i+1, 1)
figg['layout'].update( annotations=annotation_arr )
figg['layout'].update(height=1800, width=600, title='Testing')
iplot(figg)