问题
我正在try 创建一个Ploly图表,我想在其中应用条件不透明度,如果一个条目被选中(列‘选定’:真或假)或没有.不幸的是,我try 的事情并没有奏效.如何将条件不透明度应用于我的Ploly图表?
我所try 的
我试图将数据帧的"不透明度"值传递给px.scatter()
的opacity
参数,这导致了ValueError.
我还try 用product_fig.update_traces(marker=dict(opacity=df['opacity'].tolist()))
更新轨迹,不幸的是,这也不起作用,也没有将不透明度应用于散点图中的点.
代码
import pandas as pd
import plotly.express as px
def build_product_data_fig(df: pd.DataFrame) -> go.Figure:
df['opacity'] = df['selected'].apply(lambda x: 0.8 if x else 0.2)
product_fig = px.scatter(df,
x='emission',
y='weight_gram',
color='category',
size='price',
template='plotly_dark')
return product_fig
样本数据
emission | weight_gram | category | selected | price |
---|---|---|---|---|
120.4 | 1250 | A | True | 32.0 |
92.0 | 950 | B | False | 20.0 |
105.5 | 1100 | A | True | 25.0 |
87.8 | 800 | B | False | 18.0 |
100.2 | 1050 | A | False | 22.0 |
110.6 | 1150 | A | True | 28.0 |
95.2 | 900 | B | False | 16.0 |
115.8 | 1200 | A | True | 30.0 |