Python plt.colorbar()是做什么的?颜色条上的数字代表什么?

2024-05-23 22:47:04 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能给我解释一下colorbar是怎么用的吗?我不明白colorbar的意义,它显示的数字是多少?colorbar上的数字是什么意思?请给我解释一下。。。 数据来自datacamp:1970-2010年两个栏目,分别列出了生物和商科学生的百分比。下面的代码做了一个2dhist,但我不明白colorbar标签意味着什么?是百分比吗??在

plt.hist2d(data['Biology'], data['Business'], bins=(5,5))
plt.colorbar()
plt.show()

image here


Tags: 数据代码data生物plt数字标签学生
1条回答
网友
1楼 · 发布于 2024-05-23 22:47:04

你还没有上传你的数据,所以我将张贴一个玩具的例子,并解释一些事情。在

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()

enter image description here 这里,我创建了两个变量。x有{},而{}有{}。 绘制二维历史时,会看到一个二维直方图。把它想象成从“顶部”看直方图。在

^{pr2}$

现在,您可以看到这个2D直方图中心的颜色是淡黄色的,对应于colorbar的最高值。在

这是合理的。在

你把它们的位置标在x-y平面上,正如你所见,它们是如此密集,相互重叠。您想通过平面中的框数来更好地查看分布,所以您可以尝试使用2D图。在

这正是颜色和colorbar值的含义。如果你有一个一维的经典柱状图,它就是每个箱子的高度/频率/计数


编辑1:使用更少的箱子,就像放大初始绘图。

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()

enter image description here

相关问题 更多 >