<p>因为我们知道seaborn条形图中的刻度总是从0开始,所以我们只需将您的<code>revol_util</code>值的第一个值添加到<a href="https://matplotlib.org/api/ticker_api.html#matplotlib.ticker.FuncFormatter" rel="nofollow noreferrer">^{<cd2>}</a>中的当前刻度上,同时添加现有的<code>MultipleLocator</code>。在</p>
<pre><code>import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
# A fake dataframe
hypothesis1_df = pd.DataFrame({
'revol_util':np.arange(20, 101, 1),
'deviation':np.arange(-40, 81, 1.5) + np.random.rand(81)*10.})
hypothesis1_df = hypothesis1_df.set_index('revol_util', drop=False)
ax = sns.barplot(x='revol_util', y='deviation', data=hypothesis1_df)
ax.set(xlabel="Revolving Credit Utilization (%)",
ylabel="Deviation from Mean (%)",
title="Credit Utilization and Likelihood of Late Payments\n(20 - 100%)")
ax.xaxis.set_major_locator(ticker.MultipleLocator(10))
ax.xaxis.set_major_formatter(ticker.FuncFormatter(
lambda x, pos: '{:g}'.format(x + hypothesis1_df['revol_util'].iloc[0])))
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/UlRUE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/UlRUE.png" alt="enter image description here"/></a></p>