我希望使用pyplot生成一系列2D直方图。 我希望能够指定生成的图像的大小和比例(或纵横比)。除此之外,我想删除刻度线和轴标签和边框。
这在plt.hist2d()方法的参数中似乎不可能。
我发布了pyplot演示脚本,而不是分享我的(相当复杂的)代码。如果使用此代码可以获得我想要的内容,那么可以使用我的代码。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
y = np.random.randn(1000) + 5
# normal distribution center at x=0 and y=5
plt.hist2d(x, y, bins=40)
plt.show()
提前感谢您的帮助。
答案 0 :(得分:0)
figsize应该做你想做的事:
plt.figure(figsize=(20,10))
plt.hist2d(x, y, bins=40)
plt.show()
答案 1 :(得分:0)
单独指定方面无济于事,您还需要宽度或高度的数字大小
要摆脱边距,可以使用subplots_adjust
。要关闭轴,您需要axis("off")
。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
y = np.random.randn(1000) + 5
width=4 # inch
aspect=0.8 # height/width ratio
height = width*aspect
plt.figure(figsize=(width, height ))
plt.hist2d(x, y, bins=40)
plt.subplots_adjust(bottom=0, top=1, left=0, right=1)
plt.gca().axis("off")
plt.show()
答案 2 :(得分:0)
以下代码段显示了如何快速轻松地
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randn(1000)
y = np.random.randn(1000) + 5
plt.figure(figsize=[7, 2]) # set figure dimensions to weird but illustrative aspect ratio
plt.hist2d(x, y, bins=40)
plt.box(False) # disable axis box
plt.xticks([]) # no x axis ticks
plt.yticks([]) # no y axis ticks
plt.subplots_adjust(left=0, right=1, top=1, bottom=0) # remove borders
plt.savefig('output.png')
plt.show()