matplotlib左上角数量级的字体大小

要把
before
左上角的 1e7 调大,效果:
after
要调的这个东西叫 offset_text,例程:

import os
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt


font = {
    'family' : 'Times New Roman',
    'weight' : 'normal',
    'size'   : 18,
}

stat = np.load("stat.npy")  # [n]
fig = plt.figure()
ax = plt.gca()

ax.bar(np.arange(stat.shape[0]), stat)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', -1))

#-----------------------------------------------
#             调数量级字体大小
# ax.xaxis.get_offset_text().set(size=20)
ax.yaxis.get_offset_text().set(size=20)  # 左上角
#-----------------------------------------------

plt.xlim((-1, stat.shape[0]))
# plt.ylim((0, 1.01))
plt.xticks(fontsize=20)
plt.yticks(fontsize=20)
# plt.xlabel("x", font)
# plt.ylabel("y", font)

ax = plt.gca()
# ax.set_aspect(0.5 / ax.get_data_ratio(), adjustable='box')

# 如果 `plt.xticks(fontsize=20)` 失效,就换成这两句。见 [4]
#for tick in ax.xaxis.get_major_ticks():
#    tick.label.set_fontsize(20)
#for tick in ax.yaxis.get_major_ticks():
#    tick.label.set_fontsize(20)

plt.grid()
plt.tight_layout()

fig.savefig('test.jpg', pad_inches=0.0)
fig.savefig('test.pdf', pad_inches=0.0, backend='pgf')
plt.close(fig)

References

  1. 如何更改colorbar上基数和指数的字体大小?
  2. python matplotlib 画图保存前后显示不完整的处理
  3. Usage
  4. Matplotlib make tick labels font size smaller
### 如何在 Matplotlib 中调整或设置左上角的基数轴标签或刻度 在 Matplotlib 的三维绘图环境中,可以通过访问 `ax` 对象中的特定方法来获取并修改坐标轴上的刻度及其属性。以下是实现这一目标的具体方式: #### 调整或设置左上角的基数轴标签或刻度的方法 为了调整或设置左上角的基数轴标签或刻度,可以利用 `get_xticklabels()` 和 `get_yticklabels()` 方法分别获取 X 轴和 Y 轴的刻度标签对象列表,并进一步对其进行自定义操作。 以下是一个完整的代码示例,用于演示如何调整这些标签的字体大小以及背景颜色等属性[^2]: ```python import numpy as np import matplotlib.pyplot as plt from mpl_toolkits import mplot3d fig = plt.figure() ax = plt.axes(projection='3d') # 设置一些测试数据 x = np.linspace(-5, 5, 100) y = np.sin(x) z = np.cos(x) ax.plot3D(x, y, z, 'gray') # 获取所有的 x 刻度标签和 y 刻度标签 for label in ax.get_xticklabels() + ax.get_yticklabels(): # 修改字体大小 label.set_fontsize(16) # 添加半透明白底背景 label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65)) plt.show() ``` 上述代码片段展示了如何通过遍历所有 X 和 Y 坐标的刻度标签来进行样式定制。具体来说,它增加了字体尺寸以便更清晰可见,并设置了带有一定透明度的白色背景框以增强可读性。 如果特别关注的是 Z 轴(即垂直于屏幕平面的那个维度),那么同样可以用类似的方式处理其对应的 tick labels: ```python for label in ax.zaxis.get_ticklabels(): label.set_fontsize(14) label.set_color('blue') ``` 这段附加代码专门针对 Z 轴进行了个性化设定——不仅增大了字号至 14pt ,还将文字的颜色改为蓝色作为区分标志。 值得注意的是,在实际应用过程中可能还需要考虑视角角度等因素的影响,因为不同视点下某些细节可能会被遮挡或者变得模糊不清。因此建议适当调节 camera view angle 来获得最佳视觉效果[^3]。 最后提醒一点,虽然这里讨论的内容主要围绕着基础配置展开论述,但实际上 Matplotlib 提供给用户的灵活性远不止于此;借助更多高级功能还可以创造出更加复杂精美的图像作品出来!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值