我想绘制一个没有科学计数法的对数刻度图。
const removeItem = (title, body) => {
let myArray = [
{title : 'title 1', body: 'body of title one'},
{title : 'title 2', body: 'body of title two'},
{title : 'title 3', body: 'body of title three'}
]
let filteredArray = myArray.filter((item) =>
item.title != title
&& item.body != body
);
return filteredArray
}
console.log(removeItem( // should only return title 3
"title 1",
"body of title two"
));
console.log(removeItem( //should return title 2 and title 3
"title 1",
"body of title one"
));
问题:
Y轴仍显示科学计数法的格式。如何更改?
如何对y轴进行特定刻度?我尝试了 import matplotlib as mpl
import matplotlib.pyplot as plt
plt.plot(np.arange(0,10,0.1))
plt.xscale('log')
plt.yscale('log')
plt.xlim(0.1,100)
plt.ylim(1,10)
plt.gca().xaxis.set_major_formatter(mpl.ticker.ScalarFormatter())
plt.gca().yaxis.set_major_formatter(mpl.ticker.ScalarFormatter())
plt.show()
,但没有用。
如何摆脱x和y轴刻度的小数点?
答案 0 :(得分:2)
1。摆脱科学计数法。
刻度线是主要和次要刻度线,因此您还需要设置次要格式器:
plt.gca().yaxis.set_major_formatter(mpl.ticker.ScalarFormatter())
plt.gca().yaxis.set_minor_formatter(mpl.ticker.ScalarFormatter())
2。在特定的自定义位置显示刻度线
摆脱次要的滴答标签可以使yticks
正常工作。
plt.yticks([1,10])
plt.gca().yaxis.set_minor_formatter(mpl.ticker.NullFormatter())
3。摆脱小数点
我想摆脱0.1
这样的标签的小数点是没有意义的。因此,人们可能会选择一种{strong> g 通用数字格式StrMethodFormatter
的{{1}}。
g
答案 1 :(得分:1)
使用plt.ticklabel_format(style='plain')
摆脱科学计数法。
看起来plt.yticks([1,10])
发挥了作用。 yticks()
仅添加您提供的特定数字,而不添加范围。因此,它添加的刻度位于y = 1和y = 10,它们恰好在图形的底部和顶部。如果您希望在这些刻度之间有更多的刻度,可以尝试plt.yticks(np.arange(1,10, step=d))
,其中“ d”是您希望每一步之间的距离。
尝试使用plt.gca().xaxis.set_major_formatter(mpl.ticker.EngFormatter(places=0))
除去小数点。
所有这些都可以在matplotlib文档中找到,尽管坦率地说它需要一些挖掘工作。