如何将 RGB 元组传递给 `px.bar`?
How to pass RGB tuples to `px.bar`?
您需要 so_sample.parquet 到 运行 代码
我需要在 plotly 中复制这个条形图,最重要的是能够以相同的方式随机预选颜色。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_parquet('so_sample.parquet')
df = df.groupby(['col1', 'col2']).size().unstack().fillna(0)
df.plot(
kind='bar',
stacked=True,
legend=False,
xlabel='',
rot=0,
color=np.random.uniform(0, 1, (df.shape[1], 3)),
)
这是我目前所做的:
import plotly.express as px
df = pd.read_parquet('so_sample.parquet')
df = df.groupby(['col1', 'col2']).size().reset_index(name='count')
px.bar(
df,
x='col1',
y='count',
color='col2',
).show()
我尝试通过 color_discrete_sequence=[color1, color2, ...]
,但没有任何区别。
matplotlib中使用的数据格式是宽格式,而plotly中是长格式。 plotly 应该是相同的宽格式,你可以指定你最喜欢的颜色图。我选择了Dark24,颜色比较多
import plotly.express as px
import pandas as pd
df = pd.read_parquet('./data/so_sample.parquet')
#df = df.groupby(['col1', 'col2']).size().reset_index(name='count')
df = df.groupby(['col1', 'col2']).size().unstack().fillna(0)
px.bar(
df,
x=df.index,
y=df.columns.tolist(),
color_discrete_sequence=px.colors.qualitative.Dark24,
).show()
您需要 so_sample.parquet 到 运行 代码
我需要在 plotly 中复制这个条形图,最重要的是能够以相同的方式随机预选颜色。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df = pd.read_parquet('so_sample.parquet')
df = df.groupby(['col1', 'col2']).size().unstack().fillna(0)
df.plot(
kind='bar',
stacked=True,
legend=False,
xlabel='',
rot=0,
color=np.random.uniform(0, 1, (df.shape[1], 3)),
)
这是我目前所做的:
import plotly.express as px
df = pd.read_parquet('so_sample.parquet')
df = df.groupby(['col1', 'col2']).size().reset_index(name='count')
px.bar(
df,
x='col1',
y='count',
color='col2',
).show()
我尝试通过 color_discrete_sequence=[color1, color2, ...]
,但没有任何区别。
matplotlib中使用的数据格式是宽格式,而plotly中是长格式。 plotly 应该是相同的宽格式,你可以指定你最喜欢的颜色图。我选择了Dark24,颜色比较多
import plotly.express as px
import pandas as pd
df = pd.read_parquet('./data/so_sample.parquet')
#df = df.groupby(['col1', 'col2']).size().reset_index(name='count')
df = df.groupby(['col1', 'col2']).size().unstack().fillna(0)
px.bar(
df,
x=df.index,
y=df.columns.tolist(),
color_discrete_sequence=px.colors.qualitative.Dark24,
).show()