python - 如何使用 matplotlib.pyplot 在 xticks 中包含负数?
问题描述
我有一个看起来像这样的 DataFrame:
df = [4, -1, 5, -32, 4, -32, -1]
我想这样设置xticks
:
tick_locs = [-30, -10, 0, 10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)
我可以将刻度设置为所有正数,但这不会在 x 轴上给我负数:
tick_locs = [10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)
知道如何获得负刻度吗?
PS 数据设置为已记录,但 x 轴设置为显示实际数字:
bin_edges = 10 ** np.arange(-0.1, np.log10(planes_df['ArrDelay'].max())+0.1, 0.1)
plt.hist(planes_df['ArrDelay'], bins = bin_edges)
plt.xscale('log')
tick_locs = [10, 30, 100, 300, 1000, 3000]
plt.xticks(tick_locs, tick_locs)
解决方案
尝试删除该行plt.xscale('log')
。这将使 x 轴刻度呈线性。对数轴不能显示非正值,log(x)
如x <= 0
.
推荐阅读
- android - 使用 Google 的 FIT API 跟踪当天的总步数
- mysql - 即使用户拥有所有权限,如何在春季启动中解决“用户'user'@'localhost'的java.sql.sqlexception访问被拒绝”?
- server - 创建 Minecraft 服务器时,我必须使用 ISP 提供的 Suddenlink 调制解调器/路由器,还是可以使用第二个 Nighthawk 路由器?
- python - Python 3.8 二维数组拼接正在产生奇怪的结果。拼接就是让列表指向内存
- node.js - 如何从 aysnc/await 函数返回数据?
- gnuplot - 3D 中的颜色表面
- python - 如果我在dyscord.py 中有message.id,如何删除消息?
- bash - AWS Cloud Formation UserData 停止
- python - 在 matplotlib 的绘图上增加两个数字之间的除法数
- swift - Swift 代码在 Playground 中有效,但在命令行工具中无效