Python 如何在散点图中使用轴上的字符串对值进行排序

Python 如何在散点图中使用轴上的字符串对值进行排序,python,pandas,matplotlib,Python,Pandas,Matplotlib,如何在散点图中按升序对x轴上的值进行排序 fig, ax = plt.subplots() fig.set_size_inches(18, 8) ax.scatter(data=ipl,x='budget',y='player') n = 4 for idx, label in enumerate(ax.xaxis.get_ticklabels()): if idx % n != 0: label.set_visible(False) 在图像中,x轴上的值是随机排列

如何在散点图中按升序对x轴上的值进行排序

fig, ax = plt.subplots()
fig.set_size_inches(18, 8)
ax.scatter(data=ipl,x='budget',y='player')

n = 4

for idx, label in enumerate(ax.xaxis.get_ticklabels()):
    if idx % n != 0:
        label.set_visible(False)
在图像中,x轴上的值是随机排列的


您可以使用小正则表达式提取值,转换为int并按整数值排序:

#dummy data
ipl = pd.DataFrame(
    {
        'budget': ['${}M'.format(a) for a in np.random.randint(0,200,10)],
        'player': np.random.randint(-10,10,10)
    }

)

ipl['values'] = ipl['budget'].str.extract('([0-9]+)').astype(int)
ipl.sort_values(by='values', inplace=True)
熊猫需要
()
来组成一个提取组。例如,见。这不是特定于正则表达式的。正则表达式本身表示:以下任意一项:[0-9],一次或多次:+。