📜  如何调整 Seaborn 图中的刻度数?

📅  最后修改于: 2022-05-13 01:55:28.130000             🧑  作者: Mango

如何调整 Seaborn 图中的刻度数?

在本文中,我们将讨论如何调整 Seaborn Plots 中的刻度数。刻度是用于在 XY 坐标上显示某些特定点的值,它可以是字符串或数字。我们将看到如何选择最优或扩展刻度数以同时显示在 x 轴和 y 轴上。

matplotlib 库的 axes 模块中的 Axes.set_xticks() 和 Axes.set_yticks() 函数分别用于设置带有 X 轴和 Y 轴上的刻度列表的刻度。

示例 1:调整数字 X – 使用 set_xticks() 的刻度

在此示例中,我们将 xticks 的数量设置为数据帧中存在的数据长度。

Python3
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
  
sns.set(style="darkgrid")
  
# create DataFrame
df = pd.DataFrame({'a': np.random.rand(8), 'b': np.random.rand(8)})
  
# create lineplot
g = sns.lineplot(data=df)
  
# set the ticks first
g.set_xticks(range(8))
  
# set the labels
g.set_xticklabels(['2011', '2012', '2013', '2014',
                   '2015', '2016', '2017', '2018'])


Python3
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
  
sns.set(style="darkgrid")
  
# create DataFrame
df = pd.DataFrame({'a': np.random.rand(8), 'b': np.random.rand(8)})
  
# create lineplot
g = sns.lineplot(data=df)
  
#  set the ticks first
g.set_yticks(range(len(df)-5))
  
# set the labels
g.set_xticklabels(['2011', '2012', '2013', '2014',
                   '2015', '2016', '2017', '2018'])


Python3
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4]})
  
# create scatterplot
sns.scatterplot(data=df, x='var1', y='var2')
  
# specify positions of ticks on x-axis and y-axis
plt.xticks([15, 20, 25], ['A', 'B', 'C'])
plt.yticks([4, 8, 12], ['Low', 'Medium', 'High'])


输出:

示例 2:调整数字 Y – 使用 set_yticks() 的刻度

在此示例中,我们将 yticks 的数量设置为数据帧中存在的数据长度。

Python3

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
  
sns.set(style="darkgrid")
  
# create DataFrame
df = pd.DataFrame({'a': np.random.rand(8), 'b': np.random.rand(8)})
  
# create lineplot
g = sns.lineplot(data=df)
  
#  set the ticks first
g.set_yticks(range(len(df)-5))
  
# set the labels
g.set_xticklabels(['2011', '2012', '2013', '2014',
                   '2015', '2016', '2017', '2018'])

输出:

示例 3:使用 xticks() 和 yticks() 调整 X 和 Y 刻度数

在这个例子中,我们设置了 x 轴和 y 轴上刻度的特定位置的数量

Python3

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
  
# create DataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29],
                   'var2': [5, 7, 7, 9, 12, 9, 9, 4]})
  
# create scatterplot
sns.scatterplot(data=df, x='var1', y='var2')
  
# specify positions of ticks on x-axis and y-axis
plt.xticks([15, 20, 25], ['A', 'B', 'C'])
plt.yticks([4, 8, 12], ['Low', 'Medium', 'High'])

输出: