防止matplotlib.pyplot中的科学记数法

本文介绍如何在使用matplotlib.pyplot绘制大规模数据时避免科学计数法的显示方式,通过简单的代码调整即可实现数值正常显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

防止matplotlib.pyplot中的科学记数法

我们在使用matplotlib.pyplot绘制图像时,如果统计的数据过大图标上就会出现用科学计数法的方式显示,例如

import matplotlib.pyplot as plt
import numpy as py

# 求平方数
x_values = py.linspace(0, 100000000)
y_value = [x**2 for x in x_values]

plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.scatter(x_values, y_value, c=y_value, cmap=plt.cm.Reds, s=20)


plt.show()

在这里插入图片描述
可见x轴与y轴上的数据并没有显示原本的格式

解决方法如下

输入以下这行代码

ax.ticklabel_format(style='plain')

import matplotlib.pyplot as plt
import numpy as py

# 求平方数
x_values = py.linspace(0, 100000000)
y_value = [x**2 for x in x_values]

plt.style.use('seaborn')
fig, ax = plt.subplots()
ax.scatter(x_values, y_value, c=y_value, cmap=plt.cm.Reds, s=20)
ax.ticklabel_format(style='plain')

plt.show()

可得
在这里插入图片描述

帮我调整出一个合适的字体,要清晰,字体要大,但是注意控制不要重叠:import pandas as pd import matplotlib.pyplot as plt import numpy as np # ---------- 新增字体设置 ---------- # plt.rcParams.update({ 'font.size': 18, 'axes.titlesize': 18, 'axes.labelsize': 18, 'xtick.labelsize': 18, 'ytick.labelsize': 18, 'legend.fontsize': 16 }) # ------------------------------ # df = pd.read_csv("/root/autodl-tmp/runs/train/tune2/tune_results.csv") index_order = np.arange(len(df)) # 增大画布尺寸防止文字重叠 fig, axs = plt.subplots(3, 3, figsize=(24, 18)) # 原为(20,15) parameters = ["lr0", "lrf", "momentum", "weight_decay", "warmup_epochs", "warmup_momentum", "cls", "hsv_h", "hsv_s", "hsv_v"] for ax, parameter in zip(axs.flatten(), parameters): scatter = ax.scatter(df[parameter], df["fitness"], c=index_order, cmap='viridis') best_index = df['fitness'].idxmax() best_param = df.loc[best_index, parameter] best_fitness = df.loc[best_index, 'fitness'] ax.scatter(best_param, best_fitness, color='red', s=100, edgecolors='black', label=f'Best {parameter}: {best_param}\nFitness: {best_fitness}') # 显式设置标签字体(若需覆盖全局设置) ax.set_xlabel(parameter, fontsize=22) ax.set_ylabel('Fitness', fontsize=22) ax.legend(fontsize=14) # 调整图例字体 # 调整色彩条字体 cbar = fig.colorbar(scatter, ax=axs.ravel().tolist(), orientation='horizontal', fraction=0.02, pad=0.1) cbar.set_label('Search Order', fontsize=22) # 标签字体 cbar.ax.tick_params(labelsize=12) # 刻度字体 plt.tight_layout(rect=[0, 0.03, 1, 0.95]) plt.savefig("tune2.png", dpi=300) # 提高保存图片的清晰度 # plt.show()
03-09
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值