1. ホーム
  2. python

[解決済み] Plotlyです。plotly express の散布図で点の色を手動で設定する方法は?

2022-03-01 09:28:55

質問

https://plotly.com/python/line-and-scatter/ には多くの散布図の例がありますが、px.scatter 内ですべての点の色を設定する方法を示すものは1つもありません。

# x and y given as DataFrame columns
import plotly.express as px
df = px.data.iris() # iris is a pandas DataFrame
fig = px.scatter(df, x="sepal_width", y="sepal_length")
fig.show()

を追加してみました。 colour = 'red' などはうまくいきません。これらの例は、他の変数で色付けする方法を示しているだけです。

原理的には、別の機能を追加して、すべて同じに設定することもできるのですが、それはタスクを達成するためのビジーな方法のようです......。

解決方法は?

そのためには color_discrete_sequence 引数で指定します。

fig = px.scatter(df, x="sepal_width", y="sepal_length", color_discrete_sequence=['red'])

この引数は、カスタムカラーパレットを使用して、離散的な color のファクターを使用している場合は、そのファクターは使用できません。 color は、プロット内のすべての点に対して最初の要素を使用します。

ディスクリートカラーパレットについて詳しくはこちら https://plotly.com/python/discrete-color/