当前位置: 首页 > 面试题库 >

python中的对数y轴箱

和和裕
2023-03-14
问题内容

我正在尝试创建数据列的直方图并以对数方式绘制(y-axis),但不确定以下代码为什么不起作用:

import numpy as np
import matplotlib.pyplot as plt
data = np.loadtxt('foo.bar')
fig = plt.figure()
ax = fig.add_subplot(111)
plt.hist(data, bins=(23.0, 23.5,24.0,24.5,25.0,25.5,26.0,26.5,27.0,27.5,28.0))
ax.set_xlim(23.5, 28)
ax.set_ylim(0, 30)
ax.grid(True)
plt.yscale('log')
plt.show()

我也试过,而不是plt.yscale('log')添加Log=trueplt.hist行以及我试过ax.set_yscale('log'),但似乎没有任何工作。我要么得到一个空图,要么y-axis确实是对数的(使用上面显示的代码),但是没有绘制任何数据(没有bin)。


问题答案:

尝试

plt.yscale('log', nonposy='clip')

http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.yscale

问题在于小节的底部位于y =
0,默认值是log(0)在进行对数转换时掩盖无效点(->未定义)(有讨论更改此点,但是我不记得是哪种方法)因此,当它尝试为您的条形图绘制矩形时,其底边被遮罩掉->没有矩形。



 类似资料:
  • 问题内容: 我希望在方形图上画线。 天秤和应该是相同的。 例如x的范围是0到10,在屏幕上是10厘米。y的范围也必须为0到10,并且也必须为10 cm。 即使我迷失了窗口大小,也必须保持正方形。 目前,我的图形与窗口大小一起缩放。 我该如何实现? 更新: 我尝试了以下操作,但没有成功。 问题答案: 您需要对api进行更深入的研究: set_aspect的文档

  • 问题内容: 我有一个带有一堆随机x,y坐标的散点图。当前,Y轴从0开始并上升到最大值。我希望Y轴从最大值开始,一直到0。 问题答案: 有一个新的API使它变得更加简单。 和/或

  • Highcharts 区域图 以下实例演示了反转x轴与y轴区域图。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。在 chart 中添加 inverted 属性。 chart 配置 将 chart 的 inverted 属性设置为 true,X轴为垂直,Y轴为水平的。 var chart = { type: 'area', invert

  • 本文向大家介绍python画双y轴图像的示例代码,包括了python画双y轴图像的示例代码的使用技巧和注意事项,需要的朋友参考一下 很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴。 matplotlib和seaborn都可以画双y轴图像。 一个例子: 以上这篇python画双y轴图像的示例代码就是小编分享给大家的全部内容了,希望能给

  • 本文向大家介绍python绘制双Y轴折线图以及单Y轴双变量柱状图的实例,包括了python绘制双Y轴折线图以及单Y轴双变量柱状图的实例的使用技巧和注意事项,需要的朋友参考一下 近来实验室的师姐要发论文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天师姐派了一个小活,具体要求是: 给一些训练模型的迭代次数,训练精度的数据,让我做成图

  • 问题内容: 我正在尝试修复python如何绘制数据。 说 和 然后我会做: 并且x轴的刻度线以5的间隔绘制。是否有办法使其显示1的间隔? 问题答案: 你可以使用以下命令显式设置要在刻度线打勾的位置: 例如, (以防万一,使用它而不是Python的range函数,它们是浮点数而不是整数。) 的(或)功能将自动设置默认x和y限制。如果你希望保留这些限制,而只是更改刻度线的步长,则可以用来发现已设置的限