【问题标题】:Python Matplotlib - Formatting numbers in a ChartPython Matplotlib - 格式化图表中的数字
【发布时间】:2021-07-15 01:59:40
【问题描述】:

我有一个数据框,我已经按照下面的片段对数字进行了格式化,但是当我绘制它时,格式会恢复为科学格式。如何格式化图表以匹配数据框?数据类型是 float64,我正在使用 Pycharm。我的代码如下, 谢谢

    import pandas as pd
    import matplotlib.pyplot as plt

    gdp2019 = pd.read_csv("GDP2019.csv")
    pd.options.display.float_format = '{:,.2f}'.format
    newDF.plot(x='LOCATION', y='Value', kind='bar')
    plt.show()

【问题讨论】:

    标签: python dataframe matplotlib pycharm formatting


    【解决方案1】:

    将此行添加到您的代码中以摆脱 y 轴上的科学记数法:

    plt.ticklabel_format(axis = 'y', style= 'plain')
    

    如果您希望 y 标签数字以逗号分隔并显示两个小数点,请改用此行:

    import matplotlib.ticker as ticker
    plt.gca().yaxis.set_major_formatter(ticker.StrMethodFormatter('{x:,.2f}'))
    

    【讨论】:

    • 非常感谢 - 这很简单。有没有办法用逗号分隔 1000 ?我是 python 的初学者,但据我所知,ticklabel_format 方法只有科学或简单的样式......
    • @xceej 是的。请参阅我修改后的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    相关资源
    最近更新 更多