首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matplotlib重叠yaxis

matplotlib重叠yaxis
EN

Stack Overflow用户
提问于 2021-05-03 08:35:57
回答 1查看 32关注 0票数 0

我想为我的数据框创建一个图表。然而,我得到了类似这样的东西:

代码:

代码语言:javascript
复制
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()

数据帧:

数据类型:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-03 09:31:30

更新!

我猜下面的代码可以工作,但由于我没有数据,我不能完全确定。

代码语言:javascript
复制
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‘类型是string而不是int/float。您需要首先使用如下正则表达式删除除数字之外的其他字符:

代码语言:javascript
复制
import re
re.sub("[^0-9]", "", "$102")

然后将结果转换为int或float,您就可以绘制它了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67362297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档