【发布时间】:2018-01-29 20:13:35
【问题描述】:
我正在使用 Matplotlib 的函数 hist2d() 并且我想解压缩输出以便进一步使用它。这就是我所做的:我只需使用 numpy 加载一个包含我的数据的 2 列文件并使用以下代码
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
import numpy as np
traj = np.loadtxt('trajectory.txt')
x = traj[:,0]
y = traj[:,1]
M, xe, ye, img = plt.hist2d(x, y, bins = 80, norm = LogNorm())
plt.imshow(M)
plt.show()
我得到的结果如下:
相反,如果我尝试直接绘制 hist2d 结果而不解包:
import matplotlib.pyplot as plt
from matplotlib.colors import LogNorm
import numpy as np
traj = np.loadtxt('trajectory.txt')
x = traj[:,0]
y = traj[:,1]
plt.hist2d(x, y, bins = 80, norm = LogNorm())
plt.show()
我得到了没有奇怪的蓝色框的整个情节。我做错了什么?
【问题讨论】:
-
plt.imshow(M)将M绘制在与您的二维历史相同的图上。尝试在plt.imshow(M)之前添加plt.figure()看看会发生什么 -
我猜蓝色框中的值可能高于颜色图的限制,因此可能大于 255。尝试将
M的值标准化为介于0和1或0和255之间的整数 -
@DavidG 谢谢!这解决了问题。
标签: python matplotlib