Matplotlib 如何使用相同的存储单元大小将两个数据集绘制成图?
我有两个不同的数据集。我想用两个不同的数据集绘制柱状图,但要保持箱子相同,每个箱子的宽度和范围应该相同Matplotlib 如何使用相同的存储单元大小将两个数据集绘制成图?,matplotlib,Matplotlib,我有两个不同的数据集。我想用两个不同的数据集绘制柱状图,但要保持箱子相同,每个箱子的宽度和范围应该相同 Data1 = np.array([1,2,3,3,5,6,7,8]) Data2 = np.array[1,2,3,4,6,7,8,8] n,bins,patches = plt.hist(Data1,bins=20) plt.ylabel("no of states") plt.xlabel("bins") plt.savefig("./DOS")` 您可以查看的文档,您将看到bins
Data1 = np.array([1,2,3,3,5,6,7,8])
Data2 = np.array[1,2,3,4,6,7,8,8]
n,bins,patches = plt.hist(Data1,bins=20)
plt.ylabel("no of states")
plt.xlabel("bins")
plt.savefig("./DOS")`
您可以查看的文档,您将看到bins参数可以是定义bins数量的整数,也可以是定义bins自身边缘的序列 要手动定义这些存储箱,您需要:
您可以查看的文档,您将看到bins参数可以是定义bins数量的整数,也可以是定义bins自身边缘的序列 因此,您需要手动定义要使用的箱子,并将其传递给plt.hist: 您可以将从第一个柱状图返回的箱子作为参数传递给第二个柱状图,以确保两者具有相同的箱子大小 完整答案: 您可以将从第一个柱状图返回的箱子作为参数传递给第二个柱状图,以确保两者具有相同的箱子大小 完整答案:
下面的任何答案都能解决您的问题吗?如果他们这样做了,那么就把你认为最好的答案标记为被接受。由于您似乎是堆栈溢出新手,您应该阅读下面的任何答案是否解决了您的问题?如果他们这样做了,那么就把你认为最好的答案标记为被接受。由于您似乎不熟悉堆栈溢出,因此应该阅读
import matplotlib.pyplot as plt
import numpy as np
bin_edges = [0, 2, 4, 6, 8]
data = np.random.rand(50) * 8
plt.hist(data, bins=bin_edges)
import numpy as np
import matplotlib.pyplot as plt
Data1 = np.array([1, 2, 3, 3, 5, 6, 7, 8])
Data2 = np.array([1, 2, 3, 4, 6, 7, 8, 8])
n, bins, patches = plt.hist(Data1, bins=20, label='Data 1')
plt.hist(Data2, bins=bins, label='Data 2')
plt.ylabel("no of states")
plt.xlabel("bins")
plt.legend()
plt.show()