Python Plotly:如何设置调色板?
在本文中,我们将讨论如何在 plotly 中显式设置颜色序列/调色板。通常,我们使用内置的颜色序列,但如果我们想创建一个,这并不难。让我们看看如何设置调色板的一些方法。
方法一:为连续数据设置调色板
像素。 scatter() 方法用于绘制我们提供的数据的散点图。我们通过制作颜色列表来明确制作调色板。该列表被传递给 px.scatter() 方法的 colour_continuous_scale 参数。当我们在这个例子中处理连续数据时,我们使用 colour_continuous_scale 参数。
单击此处阅读并下载 CSV 文件。
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('weather.csv', encoding='UTF-8')
# plot a scatterplot
fig = px.scatter(df, x="Temperature", y='Humidity', color='Light',
title="setting up colour palette",
color_continuous_scale=["orange", "red",
"green", "blue",
"purple"])
fig.show()
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=[
"orange", "red", "green", "blue", "purple"],
title="Explicit color sequence"
)
fig.show()
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=["orange", "red"],
title="Explicit color sequence"
)
fig.show()
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=["orange", "red"],
title="Explicit color sequence"
)
fig = px.colors.qualitative.swatches()
fig.show()
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v",
hover_name="Country", color_discrete_sequence=[
px.colors.qualitative.Alphabet[6],
px.colors.qualitative.Alphabet[11],
px.colors.qualitative.Plotly[2],
px.colors.qualitative.Plotly[7],
px.colors.qualitative.G10[5]],
title="Explicit color sequence"
)
fig.show()
输出:
方法2:为离散数据设置调色板
像素。 bar() 方法用于绘制我们提供的数据的条形图。我们通过制作颜色列表来明确制作调色板。该列表被传递给 px.bar() 方法的 color_discrete_sequence 参数。当我们在这个例子中处理离散数据时,我们使用 color_discrete_sequence 参数。
单击此处下载使用的 CSV 文件。
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=[
"orange", "red", "green", "blue", "purple"],
title="Explicit color sequence"
)
fig.show()
输出:
如果我们的调色板包含的颜色少于我们的组或标签怎么办?颜色会重复。
看一下这个例子来形象化。
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=["orange", "red"],
title="Explicit color sequence"
)
fig.show()
输出:
方法 3:从现有的调色板设置调色板
px.colors.qualitative 模块包含内置的颜色序列。要查看所有颜色序列,请使用 px.colors.qualitative.swatches() 方法。
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v", hover_name="Country",
color_discrete_sequence=["orange", "red"],
title="Explicit color sequence"
)
fig = px.colors.qualitative.swatches()
fig.show()
输出:
在这个例子中,我们从已经存在的调色板中索引颜色并形成一个新的调色板,而不是以字符串格式给出名称,这也可以这样做。如果我们想从现有的调色板中选择颜色或者我们不知道颜色的名称,可以使用此方法。
索引格式为:
px.colors.qualitative.colour_sequence_name[index]
example: px.colors.qualitative.Alphabet[11]
Python3
# import packages and libraries
import pandas as pd
import plotly.express as px
# reading the dataset
df = pd.read_csv('country_density.csv', encoding='UTF-8')
# taking observations of first 5 countries
df = df.iloc[:5, :]
# plotting bar plot
fig = px.bar(df, x="Country", y="Density_(P/Km²)", color="Country",
orientation="v",
hover_name="Country", color_discrete_sequence=[
px.colors.qualitative.Alphabet[6],
px.colors.qualitative.Alphabet[11],
px.colors.qualitative.Plotly[2],
px.colors.qualitative.Plotly[7],
px.colors.qualitative.G10[5]],
title="Explicit color sequence"
)
fig.show()
输出: