首页 > 解决方案 > 从 seaborn 的 catplot 中删除科学记数法

问题描述

执行以下操作:

g = sns.catplot(x="price", y="neigh", kind="bar", data=top_bot).set(title = "Mean of the top and bottom prices (euros) by neighbour")

在此处输入图像描述

x刻度正在转换为科学计数法。我想指定要使用的刻度,并从中删除科学记数法。我尝试了几种已经在“SO”中发布的方法,但问题是它们都没有专门用于catplot.

编辑: 这个解决方案根本不能解决我的问题。Forplt.ticklabel_format(style='plain', axis='y')创建一个空图,后跟以科学计数法表示的相同图。并为sns.plt.ticklabel_format(style='plain', axis='y',useOffset=False)它输出 AttributeError: module 'seaborn' has no attribute 'plt'

标签: pythonseaborn

解决方案


这是一起使用 seaborn 和 matplotlib 功能的方法。您必须首先创建一个 matplotlib 图形并进行所需的所有更改。比调用 seaborn 函数并添加有关您要使用的轴的信息。

这是一个工作最小的例子。

import pandas as pd
import seaborn as sns
from matplotlib import pyplot as plt
# data
top_bot = pd.DataFrame({'price':[i*100000000 for i in range(5)], 'neigh': range(10,15)})
# creating figure
f, ax = plt.subplots()
ax.ticklabel_format(style='plain', axis='both')
sns.barplot(x='price', y='neigh', data=top_bot, ax=ax)

这个例子与你的图片不同,因为你没有分享你绘制的数据和你尝试过的代码。

我希望这回答了你的问题。


推荐阅读