gpt4 book ai didi

python - plotly express facet plot 中的单轴标题

转载 作者:行者123 更新时间:2023-11-28 22:08:45 24 4
gpt4 key购买 nike

我正在学习使用 pyplot.express 并努力解决以下设计问题:在多面图中,每个子图都会重复轴标题(在示例中为“花瓣宽度 (cm)”)。有没有办法使用 pyplot.express 为多面图上的所有子图获取单轴标签?

谢谢,迈克尔

最小的例子:

from sklearn.datasets import load_iris
import plotly.express as px
import pandas as pd
import numpy as np

# import iris-data
iris = load_iris()
df= pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'])
df['species'] = pd.Categorical.from_codes(iris.target, iris.target_names)

# plot using pyplot.express
fig = px.bar(df, x="sepal length (cm)", y="petal width (cm)", color = 'petal length (cm)', facet_row="species")
fig.show()

Iris facet plot

最佳答案

对于这种特殊情况,在您的示例片段之后,只需运行

fig['layout']['yaxis']['title']['text']=''
fig['layout']['yaxis3']['title']['text']=''
fig.show()

或者,对于多个子图的更通用方法,只需运行:

fig.for_each_yaxis(lambda y: y.update(title = ''))
# and:
fig.add_annotation(x=-0.1,y=0.5,
text="Custom y-axis title", textangle=-90,
xref="paper", yref="paper")

我还使用 fig.add_annotation() 为所有 y 轴添加了一个标题,并通过指定 yref="paper"确保它始终位于绘图的中心

剧情:

enter image description here

关于python - plotly express facet plot 中的单轴标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58167028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com