bon*_*r05 1 python visualization matplotlib
有人可以向我解释颜色条的用途和方式吗?我不明白颜色条的重要性,它显示的数字是什么?颜色条上的数字是什么意思?请向我解释... 数据来自 datacamp:两列显示从 1970 年到 2010 年学习生物学和商业的学生百分比。下面的代码生成了一个 2dhist,但我不明白颜色条标签的含义是什么?是百分比吗??
plt.hist2d(data['Biology'], data['Business'], bins=(5,5))
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)

你还没有上传你的数据,所以我将发布一个玩具示例并解释一些事情。
from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
# normal distribution center at x=0 and y=5
x = np.random.randn(100000)
y = np.random.randn(100000) + 5
plt.hist2d(x, y, bins=40, norm=LogNorm())
plt.xlabel('x')
plt.ylabel('y')
cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts')
plt.show()
Run Code Online (Sandbox Code Playgroud)
在这里,我创建了 2 个变量。在x有mean=0和y有mean=5。当您绘制 2D 直方图时,您会看到一个 2D 直方图。把它想象成从“顶部”看直方图。
print(x.mean())
print(y.mean())
#0.0015767005081253399
#5.005093241323296
Run Code Online (Sandbox Code Playgroud)
现在,您可以看到此 2D 直方图中心的颜色是淡黄色的,并且对应于颜色条的最高值。
这是合理的,因为histogram of x should have a peak at 0和histogram of y should have a peak at 5。
您在 xy 平面上绘制它们的位置,您可以看到它们非常密集且彼此重叠。您想通过平面中的框数更好地查看分布,因此您尝试使用 2D 图。
编辑 1:通过使用更少的 bin 就像放大初始图一样。
from matplotlib.colors import LogNorm
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
# normal distribution center at x=0 and y=5
x = np.random.randn(100000)
y = np.random.randn(100000) + 5
plt.hist2d(x, y, bins=(5,5), norm=LogNorm())
plt.xlabel('x')
plt.ylabel('y')
cbar = plt.colorbar()
cbar.ax.set_ylabel('Counts')
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2830 次 |
| 最近记录: |