我试图将我的轴的格式更改为在Python 2.7下运行的Matplotlib中以逗号分隔,但我无法这样做.
我怀疑我需要使用FuncFormatter,但我有点不知所措.
有人可以帮忙吗?
class matplotlib.ticker.FuncFormatter(func) 该函数应接受两个输入(刻度值 x 和位置 pos)并返回一个字符串
def millions(x, pos):
'The two args are the value and tick position'
return '$%1.1fM' % (x*1e-6)
Run Code Online (Sandbox Code Playgroud)
pos 参数怎么了?它甚至没有设置为无。
当我将鼠标移到图像上时,我添加了 print(pos) 并得到了 0 1 2 3 4,加上很多 None 。只有我不知道如何处理这些信息。
我见过使用 x而不是 pos 的例子,我不明白它应该如何使用。有人可以举个例子吗?谢谢
下面的代码有效。
名称= 1960年至2016年
值=每年美国的GDP
该代码产生了两个图表,但是y轴标签的范围是5000到175000。我想1)用“,”表示标签的格式,以表示千位分隔符,例如5,000或17,500,以及
2)我想增加标签的字体大小-因此增加字体,例如5000。
无法在线找到可行/可理解的示例。帮助表示赞赏。
%matplotlib inline
import matplotlib.pyplot as plt
plt.style.use('seaborn-white')
import numpy as np
from numpy import array
# Plot GDP/Year
names = usa.loc[: , "Year"]
values = usa.loc[: , "GDP Billions"]
plt.figure(1, figsize=(15, 6))
plt.suptitle('GDP Growth', fontsize=20)
plt.subplot(121)
plt.plot(names, values)
plt.xticks(np.arange(0, 57, step=5.0))
plt.ylabel('GDP', fontsize=16)
plt.title('United States',fontsize=16)
plt.subplot(122)
plt.plot(names, values)
plt.xticks(np.arange(0, 57, step=5.0))
plt.xlabel('Year', fontsize=16)
plt.title('United States',fontsize=16)
#plt.ticklabel_format(axis='y', style='sci', scilimits=(0, 4))
#print(plt.xticks())
plt.show()
Run Code Online (Sandbox Code Playgroud)