绘制条形图,分别使用rainbow函数和topo.colors函数生成的颜色填充图中的各条,使用两种不同代码绘制
时间: 2024-10-25 21:14:48 浏览: 50
绘制条形图时,可以使用Python的数据可视化库matplotlib来实现,其中rainbow函数和topo.colors函数可以帮助我们生成颜色映射。以下是两个例子,分别展示了如何使用这两个函数为条形图添加颜色:
1. 使用`rainbow`函数:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建一些数据
data = [np.random.rand(5) for _ in range(10)]
labels = ['Label ' + str(i) for i in range(5)]
# rainbow colors
def rainbow_colors(x):
return plt.cm.rainbow(np.linspace(0, 1, x))
# 绘制条形图
fig, ax = plt.subplots()
for i, d in enumerate(data):
bars = ax.bar(labels, d, color=rainbow_colors(len(d)))
ax.set_title('Rainbow-colored Bar Chart')
plt.show()
```
在这个示例中,`rainbow_colors`函数生成了一个长度与数据条数相等的彩虹色列表。
2. 使用`topo.colors`函数:
```python
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme(style="ticks")
# 创建数据
data = [np.random.rand(5) for _ in range(10)]
labels = ['Label ' + str(i) for i in range(5)]
# topo.colors colors
colors = sns.color_palette("husl", len(data[0])) # 修改颜色数量与数据一致
# 绘制条形图
ax = sns.barplot(x=labels, y=data, palette=colors)
ax.set_title('Topo-colors Bar Chart')
plt.show()
```
这里使用了seaborn库的`barplot`函数,并指定了topo-colors作为颜色集。
阅读全文