Python 使用matplotlib以固定格式显示值
关于堆栈溢出的这个问题,有几种答案,但似乎都不起作用 这是我的绘图代码:Python 使用matplotlib以固定格式显示值,python,matplotlib,Python,Matplotlib,关于堆栈溢出的这个问题,有几种答案,但似乎都不起作用 这是我的绘图代码: import matplotlib.pyplot as plt arr = [] for n in range(3,13): for i in range(0,1000): val = 50000000 * float(i) / 10**n if val not in arr: arr.append(val) arr.sort() plt.plot(a
import matplotlib.pyplot as plt
arr = []
for n in range(3,13):
for i in range(0,1000):
val = 50000000 * float(i) / 10**n
if val not in arr:
arr.append(val)
arr.sort()
plt.plot(arr)
plt.grid(True)
plt.show()
我尝试在plt.plot(arr)
行之后添加这一行:
plt.gca().get_yaxis().get_major_formatter().set_useOffset(False)
运气不好
我怎样才能做到这一点呢?这总是让我有点烦,因为不是所有的答案都取决于你如何定义你的情节 对于您的情况,以下工作(我只是导入并创建了一个ScalarFormatter)并将其设置为
get\u yaxis()
行上的轴
import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter
# Create a tick formatter
non_sc_formatter = ScalarFormatter(useOffset=False)
non_sc_formatter.set_scientific(False)
arr = []
for n in range(3,13):
for i in range(0,1000):
val = 50000000 * float(i) / 10**n
if val not in arr:
arr.append(val)
arr.sort()
plt.plot(arr)
plt.gca().get_yaxis().set_major_formatter(non_sc_formatter) # use the tick formatter
plt.grid(True)
plt.show()
这总是让我很烦,因为不是所有的答案都取决于你如何定义你的情节 对于您的情况,以下工作(我只是导入并创建了一个ScalarFormatter)并将其设置为
get\u yaxis()
行上的轴
import matplotlib.pyplot as plt
from matplotlib.ticker import ScalarFormatter
# Create a tick formatter
non_sc_formatter = ScalarFormatter(useOffset=False)
non_sc_formatter.set_scientific(False)
arr = []
for n in range(3,13):
for i in range(0,1000):
val = 50000000 * float(i) / 10**n
if val not in arr:
arr.append(val)
arr.sort()
plt.plot(arr)
plt.gca().get_yaxis().set_major_formatter(non_sc_formatter) # use the tick formatter
plt.grid(True)
plt.show()
你在图中看到的不是偏移量,而是一个因子。如果轴启用了科学符号,则使用该系数 您可以关闭轴上的科学符号
plt.gca().get_yaxis().get_major_formatter().set_scientific(False)
或者使用更全面的.ticklab\u格式
方法
plt.gca().ticklabel_format(axis="y", style="plain")
你在图中看到的不是偏移量,而是一个因子。如果轴启用了科学符号,则使用该系数 您可以关闭轴上的科学符号
plt.gca().get_yaxis().get_major_formatter().set_scientific(False)
或者使用更全面的.ticklab\u格式
方法
plt.gca().ticklabel_format(axis="y", style="plain")
太好了,很有效!!!,只需更改
从matplotlib.ticker导入ScalarFormatter
(颠倒顺序)。非常感谢。太好了,很有效!!!,只需更改从matplotlib.ticker导入ScalarFormatter
(颠倒顺序)。非常感谢。