我有
tick_location = np.linspace(0.01, 10, num=10, endpoint=True)
ax2.set_xticks(tick_location)
tick_labels = np.around(1/new_tick_loc*1e4,decimals=-2)
ax2.set_xticklabels(tick_labels)
这个(以及一些额外的代码)产生了下面的图,但是我想从顶部x轴上的刻度标签中删除小数点和后面的数字。
答案 0 :(得分:6)
将数字转换为整数:
ax2.set_xticklabels(tick_labels.astype(int))
答案 1 :(得分:0)
在发布自己的问题后,我似乎很快就会找到答案。它不是很直接,但它的工作原理。只需插入四行将刻度数转换为字符串,然后手动删除小数及其后的所有内容:
tick_location = np.linspace(0.01, 10, num=10, endpoint=True)
ax2.set_xticks(tick_location)
tick_labels = np.around(1/new_tick_loc*1e4,decimals=-2)
tick_labels_str = tick_labels.astype(str)
tick_labels_free=[]
for i in range(0,10):
tick_labels_free.append(tick_labels_str[i].split('.')[0])
ax2.set_xticklabels(tick_labels_free)
'范围(0,10)'中的'10'表示最后一个刻度为1000,即使它没有反映在下面的图像中。 '[0]'取出现在被拆分的字符串的第一部分 - 对我来说是没有小数的部分。以及所需的刻度标签: