[问题] matplotlib.pyplot 的y轴数字太长

楼主: treefrog (Roots)   2019-06-25 23:27:28
各位大大好,
小妹正在练习用matplotlib. Pyplot 练习画群组直条图,但发现y轴数字太长,单位变成“le7”,请问各位大大有无办法讲单位改成千位计算,并且标记单位“$k”呢?
# 资料表/图:
https://imgur.com/a/xqhpTwj
# 程式:
import pandas as pd
import matplotlib.pyplot as plt
product_rev=pd.read_excel("revenue.xlsx")
product_rev.sort_values(by="2017",inplace=True,ascending=False)
print(product_rev)
product_rev.plot.bar(x="Product",y=["2016","2017"],color=["blue","orange"])
plt.title("Total revenue by products",fontsize=16,fontweight="bold")
plt.xlabel("Product")
plt.ylabel("Figure")
plt.tight_layout()
plt.show()
作者: WayneHong (韦恩咖啡)   2019-06-26 08:28:00
感觉直接改原始资料比较快
作者: yuasa (XD)   2019-06-26 12:29:00
先用product_rev.div(1000),把妳的原始资料都除1000。再改你ylabel的单位就好了
楼主: treefrog (Roots)   2019-06-26 12:37:00
不好意思,请问怎么修改单位?
作者: gmccntzx1 (o.O)   2019-06-26 12:42:00
google “matplotlib FuncFormatter”
作者: Pieteacher (pieteacher)   2019-06-26 18:54:00
Try plt.semilogy()

Links booklink

Contact Us: admin [ a t ] ucptt.com