python - 从 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'
解决方案
这是一起使用 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)
这个例子与你的图片不同,因为你没有分享你绘制的数据和你尝试过的代码。
我希望这回答了你的问题。
推荐阅读
- c++ - 将密度设置为任何非零值会导致许多变量变得奇怪
- reactjs - 在单元测试中捕获反应组件错误
- php - htmlentities() varchar 和 lontext 字段不同的输出
- java - 使用 java 8 发送 curl 命令
- node-red - 模板节点 http out 返回“无响应对象”
- c++ - 智能指针:不存在合适的构造函数来从 derived_object* 转换为 std::shared_ptr
- java - 如何在循环中从 EditText 中提取文本并将其连接起来以在单个 TextView 中查看?
- javascript - 尽管范围是十六进制值,但 D3 scaleLinear() 返回 rgb 值
- strapi - 自动定时动作
- python - 联合子查询的 SqlAlchemy groupby