Python中WordCloud库及matplotlib的实现

一、词云库wordcloud的安装与运用

1、安装:

    pip install wordcloud   #网络安装

    pip install jieba          #jieba:中文分词库
    python -m pip install     #本地安装
2、应用:

    生成步骤:
        创建词云对象——>加载词云文本——>输出词云图片(文件)
    (1)默认的矩形词云图片
    (2)提供的图形词云图片

示例一:生成默认的矩形词云图片并保存在指定的文件夹里

#示例1:生成默认的矩形词云图片并保存在指定的文件夹里
import wordcloud   #导入词云库
from PIL import Image
import matplotlib.pyplot as plt      #导入数据可视化图库
with open('../Stu_pack/wordcloud/See You Again.txt') as file:
    fr = file.read()

wc = wordcloud.WordCloud()      #创建词云对象wc   库名.方法

wc.generate(fr)           #用生成器方法创建词云图片
wc.to_file('SYA.png')     #将生成的图片保存在指定的文件夹里
wc.to_image()             #显示图片文件

Python中WordCloud库及matplotlib的实现_第1张图片 

示例二:

import wordcloud
from imageio import imread
from PIL import Image
import matplotlib.pyplot as plt
mk=imread('../Stu_pack/wordcloud/Love_Star.png')
with open('../Stu_pack/wordcloud/See You Again.txt') as file:
    fr = file.read()
wc=wordcloud.WordCloud(mask=mk,background_color = '#cc00cc' )
wc.generate(fr)
wc.to_file('../R&Q_pic/SYA_1.png' )#用词云方法保存
plt.imshow(wc)
plt.savefig('../R&Q_pic/SYA.png')
plt.axis('off')
plt.show()

Python中WordCloud库及matplotlib的实现_第2张图片 

 

二、matplotlib.pyplot绘图相关的对象:


    1、容器类:图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)

    2、基础类:线(line)、点(marker)、文本(text)、图例(legend)、网络(grid)、标题(title)

    3、下载安装:

pip install matplotlib    #下载绘图库

pip show matplotlib     #查看

三、绘图的类型:


    1、线性图:plot()
    2、直方图:hist()
    3、条形图:bar()
    4、饼图:pie()
    5、散点图:scatter()
    6、3D图:from mpl_toolkits.mplt3d import Axes3D
    7、动态交互图:pyecharts 

示例三:绘制线性平行四边形

import matplotlib.pyplot as plt   #导入可视化库
plt.rcParams['font.family'] = 'kaiti'
plt.plot([4,5,6,5,4],[4,4,6,6,4])       #创建线性图表,前[]为X轴坐标,后[]为y轴坐标
plt.xlabel('grade')    #添加x轴坐标轴标签
plt.ylabel('course')   #添加y轴坐标轴标签
plt.savefig('../R&Q_pic/test0.png')   #将生成的图表保存到指定的位置

plt.show()    #显示图表

Python中WordCloud库及matplotlib的实现_第3张图片 

示例四:同一绘图区域绘制多图

3.1、Numpy库介绍

1、NumPy(Numerical Python)是高性能科学计算和数据分析的基础包。它极大地简化了多维数组的操作和处理,大部分数据处理软件包都依赖于 NumPy.

2、NumPy 具有以下特点:
(1)NumPy提供了对数组和矩阵进行快速运算的标准数学函数

(2)NumPy 提供了很多矢量运算的接口,比手动用循环实现速度要快很多

(3)NumPy开放源代码,由许多协作者共同维护开发。
3.2、安装

pip install numpy

import numpy as np                        #导入科学计算库
import matplotlib.pyplot as plt         #导入可视化库
a=np.arange(10)                          #创建一个0-9的整数序列
plt.plot(a,a*1.5,'ro-',label='a')
plt.plot(a,a*2.5,'gx--',label='b')
plt.plot(a,a*3.5,'y*',label='c')
plt.plot(a,a*4.5,'',label='d')
plt.plot(a,a**2,'mH--',label='e')
plt.savefig('../R&Q_pic/test1.png',dpi=600)    #图表的分辨率为600
plt.legend()                                    #显示图标的图例
plt.show()

Python中WordCloud库及matplotlib的实现_第4张图片 

示例五:显示中文元素

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = 'Kaiti'
x=np.arange(0,4,0.02)
y_1 = np.sin(np.pi*x)+2
y_2 = np.cos(np.pi*x)
plt.plot(x,y_1,'mx')
plt.plot(x,y_2,'r')
plt.legend(['正弦曲线','余弦曲线'])
plt.title('正余弦曲线图')
plt.savefig('../R&Q_pic/test2',dpi=600)
plt.show()

Python中WordCloud库及matplotlib的实现_第5张图片 

 

示例六:多区域绘图

import numpy as np 
import matplotlib.pyplot as plt
def f(t):
    return np.exp(-t)*np.cos (2*np.pi*t)
a = np.arange (0, 5, 0.02)
plt.subplot(322) 
plt.plot(a,f(a))
#将坐标系分成3行2列,并将图表放在第2区域
plt.subplot (323)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(324)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='g')
plt.subplot(325)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='m')
plt.savefig('../R&Q_pic/test3',dpi=600)
plt.show()

Python中WordCloud库及matplotlib的实现_第6张图片 

示例七:显示气温变化趋势

import matplotlib.pyplot as plt

plt.figure(num='气温趋势',figsize=(6,4))
plt.rcParams['font.family']='Kaiti'
x=['周一','周二','周三','周四','周五','周六','周日']
y_1=[20,15,18,16,21,14,10]
y_2=[12,8,14,10,13,9,4]
plt.title('一周的气温变化趋势')
plt.xlabel('星期')
plt.ylabel('气温')
plt.plot(x,y_1,'rs--',label='最高气温')
plt.plot(x,y_2,'bo:',label='最低气温')
plt.legend()
plt.savefig('../R&Q_pic/test4',dpi=600)
plt.show()

Python中WordCloud库及matplotlib的实现_第7张图片 

示例八:绘制3D图

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure(num = '3D绘图',figsize=(12,6))
ax = fig.add_subplot(111, projection='3d')
#ax = Axes3D(fig, auto_add_to_figure=False)
fig.add_axes(ax)
X,Y = np.mgrid[-3:3:100j,-3:3:100j]
Z = np.exp(-X**2/2-Y**2/2)
plt.rcParams['font.family'] = 'Kaiti'
plt.rcParams['font.size'] = '18'

surf = ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow'))
ax.set_zlim(-0.1,1)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.title('$z=exp(-(x^2+y*^2)/2)的三维图像')
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.savefig('../R&Q_pic/test7',dpi=600)
plt.show()

 

你可能感兴趣的:(python,python,matplotlib,开发语言)