在matplotlib条形图中,如何确保以相等的宽度渲染非常小的条形图?

时间:2015-12-04 03:47:27

标签: python matplotlib

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

enter image description here

请注意,由于有限的像素分辨率,条形在渲染宽度方面会有明显的不同。

在确保渲染结果具有等宽条的同时,在matplotlib中创建此绘图的最佳方法是什么?

0 个答案:

没有答案