oracle 操作表时没及时提交事务造成死锁问题,解决方案如下:
#########################用词频来画图#####################################
## 词频统计
import matplotlib.pyplot as plt
import jieba
from wordcloud import WordCloud
import pandas as pd
import wordcloud # 词云展示库
import numpy as np
from PIL import Image # 图像处理库
text = open(r'G:\分析资料-2019年7月\关键词.txt',"r").read()
counts = {}
words = jieba.lcut(text)
for word in words:
if len(word) == 1: # 单个词语不计算在内
continue
else:
counts[word] = counts.get(word, 0) + 1 # 遍历所有词语,每出现一次其对应的值加 1
## 按照频次排序
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True) # 根据词语出现的次数进行从大到小排序
## 打印出排名前10的词
for i in range(10):
word, count = items[i]
print(word, count)
## 画词云图
wc = WordCloud(
font_path='simhei.ttf', #字体路劲
background_color='white', #背景颜色
width=600,
height=800,
max_font_size=50, #字体大小
scale = 2,
min_font_size=10,
mask=plt.imread('G\map-background.jpg','#FFFFFF'), #背景图片
max_words=100
)
mask = np.array(Image.open('map-background.jpg')) # 定义词频背景
wc.generate_from_frequencies(counts) # 从字典生成词云
image_colors = wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案
#wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图方案
wc.to_file('G:\分析资料-2019年7月\ciyun_res4.jpg') #图片保存
plt.imshow(wc) # 显示词云
plt.axis('off') # 关闭坐标轴
plt.show() # 显示图像