Matplotlib中y轴上的百分号符号

4
我拥有以下的pandas图表:

enter image description here

是否可能在y轴上添加“%”符号而不是作为标签显示,例如它会显示代替0.0,应该是0.0 %,并且对于所有数字都是如此?
代码:
import pandas as pd
from pandas import datetime
from pandas import DataFrame as df
import matplotlib
from pandas_datareader import data as web
import matplotlib.pyplot as plt
import datetime 
end = datetime.date.today()
start = datetime.date(2020,1,1)

data = web.DataReader('fb', 'yahoo', start, end)
data['percent'] = data['Close'].pct_change()
data['percent'].plot()
3个回答

12

以下是如何使用matplotlib.ticker的方法:

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.set_major_formatter(mtick.PercentFormatter())
plt.show()

输出:

在此输入图像描述


3

现在您可以控制y轴的显示格式。我认为它将是0.0%

yvals = ax.get_yticks()
ax.set_yticklabels(["{:,.1%}".format(y) for y in yvals], fontsize=12)

0

你也可以使用 plt.gca() 代替使用 ax

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick
plt.gca().yaxis.set_major_formatter(mtick.PercentFormatter(xmax=1.0))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接