如何在Matplotilb条形图中打开科学计数法?

钱德拉·古德

我试图在此图中打开科学计数法,以使y轴上的数字不会占用太多空间。

目前,我的代码是:

import matplotlib.pyplot as plt
import matplotlib as mpl
import pandas as pd

mpl.rcParams.update({'font.size':15})
mpl.rcParams.update({'legend.columnspacing':0.5})

energy_cm = 1550835.86856494
energy_fm = 1456129.29966378
energy_cm_trad = 1393026.50949191
energy_fm_trad = 1314814.95236864
energy_cm_hw = 1200000
energy_fm_hw = 1100000

data_energy = { 'Algorithm' : ['Algorithm 1', 'Algorithm 2'],
       'SW' : [energy_cm, energy_fm],
       'HW' : [energy_cm_hw, energy_fm_hw],
       'Trad' : [energy_cm_trad, energy_fm_trad]
    }

df_energy = pd.DataFrame(data_energy)

width = 0.7
fig = plt.figure(figsize=(8, 8))
ax = plt.axes()
df_energy[['Algorithm', 'SW', 'Trad', 'HW']].set_index('Algorithm').plot(kind='bar', legend=True, width=width, rot=0, ax=ax, color=('sandybrown','rosybrown', 'goldenrod','indianred','tomato','r'))

ax.set_ylabel('Energy in nJ')

ax.ticklabel_format(style='sci', axis='y')
# ax.yaxis.set_major_formatter(scientific_formatter)
# ax.ticklabel_format(useOffset=True, axis='y')

fig.tight_layout()
plt.show()

这是对应的情节:

在此处输入图片说明

基本上我的问题与这个问题相反

我有相同的错误消息,并通过更改解决了

ax.ticklabel_format(style='sci')

ax.ticklabel_format(style='sci', axis='y')

我尝试使用FuncFormatter来生成自定义的科学符号,但是我不喜欢该结果,因为轴上的每个刻度都标有指数

在此处输入图片说明

而不是像下面的图像那样(从互联网)简单地在轴的顶部标记指数/偏移量

在此处输入图片说明

如何获得我的图以使用默认的科学计数法matplotlib

您可以在以下三行之前添加plt.show()

mf = mpl.ticker.ScalarFormatter(useMathText=True)
mf.set_powerlimits((-2,2))
plt.gca().yaxis.set_major_formatter(mf)

还要检查此链接以获取set_powerlimits() 在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以在matplotlib条形图中转换科学计数法吗?

如何在hvPlot图中禁用科学计数法?

如何在填充的条形图中显示计数?

如何在水平条形图中的条形右边添加计数标签?

如何在单击条形图中的条形时打开对话框?

如何在条形图的条形图中显示值?

如何在rpart回归树图中将标绘数字从科学计数法更改为标准形式?

在条形图中重复计数?

在ggplot中,如何在条形图中仅在特定条上方打印计数?

如何在分组的条形图中标记每个条形?

如何在jqPlot条形图中删除条形阴影

如何在条形图中按升序对条形进行排序?

如何在水平堆叠条形图中显示条形值

如何在Google条形图中添加更多条形...?

如何在堆叠条形图中的条形上添加比率

如何在matplotlib pyplot条形图中反转条形大小?

如何在条形图中获取条形的x坐标

如何在分组绘图条形图中为条形着色

如何在D3的条形图中的条形图中添加文本图例?

Matplotlib:删除子图中的科学计数法

如何在R中的计数ggplot条形图中添加一个变量的百分比

如何在Matplotlib对数-对数图上删除科学计数法

如何在pyspark中关闭科学计数法?

如何在ASCII表中以科学计数法显示数字?

如何在js中使用科学计数法?

如何在Java中以科学计数法表示数字?

如何在matplotlib中控制科学计数法?

如何在QCompleter中禁用科学计数法?

如何在python大数计算中抑制科学计数法