gpt4 book ai didi

python - 具有自定义渐变着色的单堆积条形图

转载 作者:行者123 更新时间:2023-12-01 00:25:30 25 4
gpt4 key购买 nike

Here's what I came up with by plotting thick line segments.

这是我通过绘制粗线段得出的结果。颜色为蓝色,具有不同的 alpha,0 < alpha < 1。

我的解决方法无法按我想要的方式工作,因为我没有图例(我想要一个图例以不同的 alpha 显示蓝色渐变)。

此外,我发现 matplotlib 的缩放很有趣。条形不应重叠,但如果我调整窗口大小,线段之间的间隙将会改变。 This is the same figure as the earlier one, just after I've resized the figure window with my mouse.这与前一个图是相同的,就在我用鼠标调整了图窗窗口的大小之后。

我不确定是否有更好的方法来完成此任务,或者是否有我可以使用的不同包。这是我正在使用的代码片段。

import matplotlib.pyplot as plt
x1 =[0, 19, 39, 46, 60, 79]
x2 = [19, 39, 46, 60, 79, 90]
alpha_list = [-0.8402, -0.6652, 0.0, -0.5106, -0.8074, 0.0]
plt.figure()
for idx,x in enumerate(x1):
plt.plot([x1[idx],x2[idx]],[0,0],color = 'blue',alpha=alpha_list[idx],linewidth =20)
plt.show()

最佳答案

我认为 alpha 只是使用不同深浅的蓝色的一种解决方法?在这种情况下,可以使用 Blues 颜色图。
可以使用 LineCollection 绘制多条线。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.collections import LineCollection

x1 =[0, 19, 39, 46, 60, 79]
x2 = [19, 39, 46, 60, 79, 90]
alpha_list = [-0.8402, -0.6652, 0.0, -0.5106, -0.8074, 0.0]

verts = np.dstack((np.c_[x1, x2], np.zeros((len(x1), 2))))

fig, ax = plt.subplots()
lc = LineCollection(verts, linewidth=40, cmap="Blues_r", array=np.array(alpha_list))
ax.add_collection(lc)

ax.autoscale()
ax.set_ylim(-1,1)
fig.colorbar(lc)
plt.show()

enter image description here

关于python - 具有自定义渐变着色的单堆积条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58608590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com