Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python seaborn,pylab-将XTICK从浮点更改为整数_Python_Matplotlib_Seaborn - Fatal编程技术网

Python seaborn,pylab-将XTICK从浮点更改为整数

Python seaborn,pylab-将XTICK从浮点更改为整数,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,我正在用seaborn作为sns和pylab作为plt绘制一张图: plt.figure(figsize=(10,10),) sns.barplot(y = 'whatever_y', x = 'whatever_x' , data=mydata) plt.xticks(fontsize=14, fontweight='bold') XTick应该是0,1,2,3,但它们是这样绘制的:0.0,1.0,2.0,3.0 有人知道我需要加什么才能得到整数吗(数据是一个数据帧)谢谢您可以使用axis格

我正在用seaborn作为sns和pylab作为plt绘制一张图:

plt.figure(figsize=(10,10),)
sns.barplot(y = 'whatever_y', x = 'whatever_x' , data=mydata)
plt.xticks(fontsize=14, fontweight='bold')
XTick应该是0,1,2,3,但它们是这样绘制的:0.0,1.0,2.0,3.0


有人知道我需要加什么才能得到整数吗(数据是一个数据帧)谢谢

您可以使用axis格式化程序执行此操作:

from  matplotlib.ticker import FuncFormatter
然后,在条形图线之后:

plt.gca().xaxis.set_major_formatter(FuncFormatter(lambda x, _: int(x)))

以下是使用matplotlib修复刻度的直观方法:

import matplotlib.pyplot as plt
plt.scatter(x,y)
plt.xticks(np.arange(min(x), max(x)+1, 1))
plt.yticks(np.arange(min(y), max(y)+1, 1))

代码在seaborn图形后面的同一单元格中(如果是jupyter笔记本电脑),因为seaborn使用matplotlib后端,所以代码可以正常工作。

该指南说明了如何操作facetgrid:

行“g.set”接受xticks参数。 例如,我有一个带有整数1到18的pandas dataframe列,显示为1.0等。 我是这样解决的:

g.set(xticks=list(range(1,19)))

希望这有用。

什么是
mydata
?它是一个numpy数组还是其他什么?您可以使用
df['x\u col\u name']=df['x\u col\u name']更改列的数据类型。astype(int)
谢谢你的帮助-所以这个问题仍然没有答案,或者有没有办法在seaborn/pylab中将Xtick从float操作到int?是的,你可以操作它们,我想你需要在上使用格式化程序,但我不是matplotlib专家。无论如何,谢谢。我会把问题放在那里——也许有人知道在MatPultLIB中有一个很好的窍门,这个问题是关于西伯恩的,并考虑为你的回答提供解释,也许它不是“La Cr me me de La Cureme”,但是阿图尔的东西是成功的:X= DF[ [ MyVAR1 ] ] PLTHPLANS= SNS.RelPixt(x= x,y=“MyVAR2”,Orth=行)。,data=df,ci=None,aspect=2)plt.xticks(np.arange(最小(x),最大(x)+1,1))
g.set(xticks=list(range(1,19)))