首页 > 解决方案 > 具有发散配色方案的 Matplotlib 条形图

问题描述

我正在尝试仅使用一个条形图制作水平条形图。这是示例代码:

import matplotlib.pyplot as plt
plt.figure(figsize=(4, 1))
plt.barh(['my_value'], height =0.1, width=[-1,1], align='center')
plt.axvline(x=0.8, color='black')

在此处输入图像描述

如何添加不同的配色方案/调色板?这样颜色从左到右平滑过渡。使用Seaborn的解决方案也可以。

标签: pythonmatplotlibseabornbar-chart

解决方案


您可以从matplotlib 教程示例中调整解决方案,前提是您只创建一个栏(而不是两个)。

或者您可以直接使用imshow

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(4, 1))
plt.imshow(np.linspace(0, 1, 256).reshape(1, -1), extent=[-1, 1, -1, 1], aspect='auto', cmap='seismic')
plt.plot([-1, 1, 1, -1, -1], [-1, -1, 1, 1, -1], color='black')  # surrounding rectangle
plt.axvline(x=0.8, color='black', ls=':')
plt.xlim(-1.1, 1.1)
plt.ylim(-1.8, 1.8)
plt.yticks([0], ['my_value'])
plt.tight_layout()
plt.show()

渐变条


推荐阅读