11cac66fc0b1eda1497e2bf46751752ec14addcd
python3/joblib/delayed\343\201\256\351\226\242\346\225\260\345\206\205\343\201\213\343\202\211Plotly\343\201\256fig\343\202\222\350\277\224\343\201\231\343\201\250\351\201\205\343\201\204.md
| ... | ... | @@ -0,0 +1,29 @@ |
| 1 | +## 現象 |
|
| 2 | +これで試したわけではないが、大体こんな感じ |
|
| 3 | + |
|
| 4 | +``` |
|
| 5 | +from pandas import DataFrame |
|
| 6 | +from joblib import Parallel, delayed |
|
| 7 | +import plotly.express as px |
|
| 8 | + |
|
| 9 | + |
|
| 10 | +def some_function(df: DataFrame, column_name: str): |
|
| 11 | + fig = px.scatter( |
|
| 12 | + df, |
|
| 13 | + x=df.index, |
|
| 14 | + y=column_name, |
|
| 15 | + ) |
|
| 16 | + |
|
| 17 | + return fig # <= ここ |
|
| 18 | + |
|
| 19 | +if __name__ == '__main__': |
|
| 20 | + df = DataFrame() #indexがdatetimeなDataFrame |
|
| 21 | + |
|
| 22 | + figs = Parallel(n_jobs=10)(delayed(some_function)( |
|
| 23 | + df=df, |
|
| 24 | + column_name=column_name, |
|
| 25 | + ) for column_name in column_name_list) |
|
| 26 | +``` |
|
| 27 | + |
|
| 28 | +## 解決方法 |
|
| 29 | +`return fig`しない。例えば`fig.to_image('svg')`などでレンダリングしてから返す。 |
|
| ... | ... | \ No newline at end of file |