Following is the code that doesn't work.
import numpy as np
import pandas as pd
import seaborn as sns
sns.displot(pd.DataFrame(res), color='red', edgecolor=None, binwidth=.5, binrange=(3, 18+1));
res
is a list type.
I was expecting the bars to be red, but they are the default color.
I had no problem before with this code.
data=
is specified, and if x=
, or y=
, is specified.g = sns.histplot(data=df, color='r', legend=False)
, as shown in this plot.
histplot
.kde=True
.python 3.11.3
, matplotlib 3.7.1
, seaborn 0.12.2
import numpy as np
import seaborn as sns
# random normal data as a list
np.random.seed(2023)
res = np.random.normal(loc=75, scale=5, size=1000).tolist()
# create a dataframe
df = pd.DataFrame(res)
# df.head() - the column header is the number 0, not string '0'
0
0 78.558368
1 73.377575
2 69.990647
3 76.181254
4 74.489201
df
, and do not specify a column name for x=
, requires passing a dict
or a list
to palette
.
palette
will also accept a string, but the string must be a valid palette name, ValueError: 'r' is not a valid palette name
palette
, compared to color
, so pass alpha=
(number 0 - 1) to adjust as needed.g = sns.displot(data=df, palette={0: 'r'}) # from v0.13.0 this does not work, because hue must also be specified
g = sns.displot(data=df, palette=['r']) # from v0.13.0 this does not work, because hue must also be specified
df
, and specify a column name for x=
g = sns.displot(data=df, x=0, color='r')
x=
g = sns.displot(x=df[0], color='r')
res
directly to data=
g = sns.displot(data=res, color='r')
res
directly to x=
g = sns.displot(x=res, color='r')