python词云图设置每个词的颜色
时间: 2023-06-23 16:56:38 浏览: 43
要设置词云图中每个词的颜色,可以使用Python的词云库`wordcloud`中的`WordCloud`类中的`recolor`方法。具体步骤如下:
1. 首先导入需要的库:
```python
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import numpy as np
import random
```
2. 生成词云图,并将其转换为numpy数组:
```python
# 生成词云图
wc = WordCloud().generate(text)
# 将词云图转换为numpy数组
wc_array = np.array(wc)
```
3. 定义一个函数来生成随机颜色:
```python
def random_color_func(word=None, font_size=None, position=None, orientation=None, font_path=None, random_state=None):
h = int(360.0 * 21.0 / 255.0)
s = int(100.0 * 255.0 / 255.0)
l = int(float(random.randint(60, 120)))
return "hsl({}, {}%, {}%)".format(h, s, l)
```
这个函数会返回一个随机的颜色,可以根据需要自行修改。
4. 使用`recolor`方法设置每个词的颜色:
```python
# 设置每个词的颜色
wc_recolored = wc.recolor(color_func=random_color_func)
```
5. 最后,将词云图显示出来:
```python
# 显示词云图
plt.imshow(wc_recolored, interpolation="bilinear")
plt.axis('off')
plt.show()
```
这样就可以设置每个词的颜色了。其中,`recolor`方法会调用`random_color_func`生成随机颜色来为每个词着色。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)