我在matplotlib中创建了一个条形图,其中包含许多非常窄的条形图。这是一些示例代码:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(100)
y = np.random.poisson(1, size=100)
fig, ax = plt.subplots(figsize=(8, 1))
ax.bar(x, y, width=1, facecolor='red', edgecolor='white', linewidth=1)
ax.grid(color='white', linewidth=1, linestyle='-')
# some plot aesthetics
for spine in ['right', 'top', 'left']:
ax.spines[spine].set_visible(False)
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('none')
ax.yaxis.set_major_locator(plt.MultipleLocator(1))
ax.yaxis.set_major_formatter(plt.NullFormatter())
请注意,由于有限的像素分辨率,条形在渲染宽度方面会有明显的不同。
在确保渲染结果具有等宽条的同时,在matplotlib中创建此绘图的最佳方法是什么?