繁体   English   中英

matplotlib 重叠y轴

[英]matplotlib overlapping yaxis

我想为我的数据框创建一个图表。 但是,我得到了这样的东西: 在此处输入图像描述

代码:

def Draw_RoomType_vs_Price():
    plt.figure(figsize=(9,6))
    plt.scatter(x=df['room_type'], y=df['price'])
    
    plt.title('Room Type vs Price', size = 15, weight='bold')
    plt.xlabel('Room Type', size = 12)
    plt.ylabel('Price', size = 12)
    plt.tight_layout()
    plt.show()
    
Draw_RoomType_vs_Price()

Dataframe: 在此处输入图像描述

数据类型: 在此处输入图像描述

更新!

我想下面的代码会起作用,但由于我没有数据,我不完全确定。

def Draw_RoomType_vs_Price():
    plt.figure(figsize=(9, 6))
    plt.scatter(x=df['room_type'], y=df['price'].apply(lambda x: float(x.replace('$', ''))))

    plt.title('Room Type vs Price', size=15, weight='bold')
    plt.xlabel('Room Type', size=12)
    plt.ylabel('Price', size=12)
    plt.tight_layout()
    plt.show()

==============================================

似乎 df['price'] 类型是字符串而不是 int/float。 您需要首先使用正则表达式删除除数字以外的其他字符:

import re
re.sub("[^0-9]", "", "$102")

然后将结果转换为 int 或 float,您就可以使用 plot 了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM