【发布时间】:2021-02-08 23:44:23
【问题描述】:
您好,我想制作一个可以连续更改颜色而不叠加的条形图。这是我目前的结果
import matplotlib.pyplot as plt
data1 = ['A', 'B', 'A', 'C', 'C', 'D', 'E', 'E', 'B']
data2 = ['B', 'A', 'C', 'C', 'C', 'D', 'E', 'E', 'B']
data3 = ['C', 'B', 'C', 'B', 'C', 'D', 'E', 'E', 'B']
for i in range(len(data1) - 1):
if data1[i] == "A":
colour = "lightgrey"
plt.bar('A', data1[i], color=colour, hatch='.')
elif data1[i] == "B":
colour = "grey"
plt.bar('A', data1[i], color=colour, hatch='|')
elif data1[i] == 'C':
colour = "darkblue"
plt.bar('A', data1[i], color=colour, hatch='+')
elif data1[i] == 'D':
colour = "pink"
plt.bar('A', data1[i], color=colour, hatch='*')
elif data1[i] == 'E':
colour = "orange"
plt.bar('A', data1[i], color=colour, hatch='x')
plt.show()
【问题讨论】:
-
“一个连续改变颜色而不叠加的条形图”——你的意思是面积图吗?
-
@BigBen 不,我的意思是条形图。我想要一个栏在每次看到某个值时都会更改,如上所示
-
在matplotlib中,有一个方法叫bar。这允许您在 matplotlib 中制作条形图。不幸的是,这是据我所知。有一个链接可以帮助您制作条形图。 datatofish.com/bar-chart-python-matplotlib/…
-
可能是我,但我只看到一个堆积条形图。你想要的输出有什么不同?
-
@Mr.T 当我堆叠条形图时,它会将值从 a 排序到 e,我不希望这样。我希望我的栏在看到或检查某个值时改变颜色
标签: python matplotlib data-visualization bar-chart