设置seaborn联合图的轴刻度值

Oke*_*sai 4 python numpy matplotlib pandas seaborn

我试图使联合图的 x 轴和 y 轴(包括轴刻度值)以特定值开始和结束,并以设定的增量进行缩放。

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

g = sns.jointplot(x="LONGITUDE", y="LATITUDE", data=data,
                      kind='reg', color="#774499", dropna=True, size=7, space=0.3, ratio=5,
                      xlim=(-180,180), ylim=(-90,90), fit_reg=False);
plt.rc("legend", fontsize=15)
plt.xlabel('Longitude', fontsize=15)
plt.ylabel('Latitude', fontsize=15)
plt.title('Spatial Location Plot', fontsize=15 )
plt.tick_params(axis="both", labelsize=15)
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

请注意,两个轴的下边缘和上边缘没有任何刻度值。我希望刻度值完全使用我在 xlim() 和 ylim() 中指定的值在轴边缘开始和结束。

我首选的 X 轴和 Y 轴增量分别为 90 度和 45 度。所以,我希望 X 轴看起来像这样:-180, -90, 0, 90, 180。Y 轴是:-90, -45, 0, 45, 90。感谢您的建议。

tmd*_*son 5

您可以使用在轴上matplotlib.ticker设置。( )major_locator返回JointGrid的有一个属​​性,我们可以用它来设置刻度。要设置数字的每个倍数的刻度,我们可以使用:jointplotgax_jointMultipleLocator

import matplotlib.ticker as ticker
g.ax_joint.xaxis.set_major_locator(ticker.MultipleLocator(90))
g.ax_joint.yaxis.set_major_locator(ticker.MultipleLocator(45))
Run Code Online (Sandbox Code Playgroud)