gpt4 book ai didi

matplotlib - 控制seaborn中的网格线间距

转载 作者:行者123 更新时间:2023-12-04 07:19:53 32 4
gpt4 key购买 nike

我想更改 seaborn 图表上水平网格线的间距,我尝试设置样式但没有运气:

seaborn.set_style("whitegrid", {
"ytick.major.size": 0.1,
"ytick.minor.size": 0.05,
'grid.linestyle': '--'
})

bar(range(len(data)),data,alpha=0.5)
plot(avg_line)

尽管我试图覆盖刻度线大小,但网格线会自动设置

enter image description here

有什么建议么?谢谢!

最佳答案

OP 询问有关修改 Seaborn 中的刻度距离的问题。

如果您在 Seaborn 中工作并且使用返回 Axes 对象的绘图功能,那么您可以像使用 matplotlib 中的任何其他 Axes 对象一样使用它。例如:

import matplotlib.pyplot as plt
import seaborn as sns
import statsmodels.api as sm
from matplotlib.ticker import MultipleLocator

df = sm.datasets.get_rdataset("Guerry", "HistData").data

ax = sns.scatterplot('Literacy', 'Lottery', data=df)

ax.yaxis.set_major_locator(MultipleLocator(10))
ax.xaxis.set_major_locator(MultipleLocator(10))

plt.show()

如果您正在使用涉及 FacetGrid 对象的 Seaborn 进程之一,您将看到关于如何在不手动设置刻度线的情况下修改刻度线的宝贵帮助。您已经从 FacetGrid.axes 内的 numpy 数组中挖掘出 Axes 对象。
import matplotlib.pyplot as plt
import seaborn as sns
from matplotlib.ticker import MultipleLocator

tips = sns.load_dataset("tips")
g = sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips, )

g.axes[0][0].yaxis.set_major_locator(MultipleLocator(3))

请注意所需的双下标。 g 是一个 FacetGrid 对象,它包含一个 dtype=object 的二维 numpy 数组,其条目是 matplotlib AxesSubplot 对象。

如果您正在使用具有多个轴的 FacetGrid,则必须提取和修改每个轴。

关于matplotlib - 控制seaborn中的网格线间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33541085/

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