[英]Range of logarithmic axis of scatter plot is not being set appropriately by matplotlib.pyplot
我正在尝试在具有对数y轴的2D散点图上绘制5个点(x,y)。 产生了曲线图,但是y轴的范围选择不正确,因此仅显示一个点。 当我删除第一个点(0.38,0.005)时,问题消失了。
这是matplotlib中的错误吗?
有人可以重现吗?
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
emissions_abs_pts = np.array([
[0.38, 0.005], # without this point it scales appropriately
[0.42, 0.05],
[0.67, 0.5],
[0.96, 5.0],
[1.0, 50.0]
])
fig, ax = plt.subplots(1, 1)
ax.scatter(emissions_abs_pts[:,0], emissions_abs_pts[:,1])
ax.set_yscale('log')
注意y轴范围是10 ^ 1到10 ^ 2
我在运行Python 2.7的jupyter笔记本中%matplotlib inline
使用%matplotlib inline
。
编辑:我有相同的缩放错误。
将此添加到代码末尾
ax.set_ylim([0.001, 100])
它将强制轴行为。
这可能是一个朱庇特的事情?
当我从命令行将您的代码作为脚本运行(更改为不“内联”)时,轴可以正确缩放,而无需强制执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.