X 轴标签未显示在带有颜色条的 Pandas DataFrame 图中

X-axis label doesn't show on Pandas DataFrame plot with colorbar

我想制作一个带有颜色条的 pandas.DataFrame.plot。为了可重复性,这里我在堆栈溢出时使用 中的代码。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import itertools as it

# [ (0,0), (0,1), ..., (9,9) ]
xy_positions = list( it.product( range(10), range(10) ) )

df = pd.DataFrame( xy_positions, columns=['x','y'] )

# draw 100 floats
df['score'] = np.random.random( 100 )

ax = df.plot( kind='scatter',
              x='x',
              y='y',
              c='score',
              s=500,
              xlabel='x')
ax.set_xlim( [-0.5,9.5] )
ax.set_ylim( [-0.5,9.5] )
plt.tight_layout()

但是,在我的环境中,该图不会以某种方式显示 x 轴。所以我尝试在代码中添加 ax.set_xlabel("x label"),但输出没有改变。

这是我的 Python 环境的包版本。

这个问题有什么建议吗?谢谢!

附加信息:我在 MacBook Pro M1 上使用 macOS Big Sur 版本 11.6。

你能试试吗:

fig, ax = plt.subplots()
cm = plt.cm.get_cmap('Greys')

sc = ax.scatter(df['x'], df['y'], s=500, c=df['score'],
                vmin=df['score'].min(), vmax=df['score'].max(), cmap=cm)
cb = fig.colorbar(sc)
t = cb.set_label('score', rotation=-90)

ax.set_xlim( [-0.5,9.5] )
ax.set_ylim( [-0.5,9.5] )
ax.set_xlabel('x')
ax.set_ylabel('y')

plt.tight_layout()
plt.show()

输出: