python画图

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

1、安装
 pip install wordcloud      #网络安装
 conda update pillow      #更新第三方库
 python -m pip install    本地路劲 #本地安装
2、应用
    生成步骤:
    创建词云对象-->加载词云文本-->输出词云图片(文件)
    (1)默认的矩形词云图片
    (2)提供的图形词云图片

In [5]:

import wordcloud
import matplotlib.pyplot as plt

In [6]:

wc = wordcloud.WordCloud()     #创建词语对象

wc.generate('shanghai dianzi zhiye jishu xueyuan')   #加载词云文本

wc.to_file('../R&Q_pic/test.png')       #将生成的词云图片保存在指定的文件夹里面

plt.imshow(wc)       #在坐标系中显示图像
plt.axis('off')        #隐藏坐标轴
plt.show()           #直接显示图像
plt.savefig('../R&Q_pic/test_1.png')

<Figure size 432x288 with 0 Axes>

In [19]:

#示例3:原文件为中文
import jieba          #导入分词库(优秀的第三方中文分词库)
import wordcloud
from imageio import imread      #导入根据数据读图片库
import matplotlib.pyplot as plt



with open('../Stu_pack/万疆.txt',encoding = 'utf-8')as file:
    fr = file.read()
fr = jieba.lcut(fr)     #以空格分隔词汇,以列表值存放
fr = ' '.join(fr) #用空格连接成一个字符串
mk = imread('../Stu_pack/Love_Star.png')
wc = wordcloud.WordCloud(mask = mk,font_path = r'C:\Windows\Fonts\simhei.ttf')
wc.generate(fr)
wc.to_file('../R&Q_pic/Love_Star.png')
plt.imshow(wc)
plt.axis('off')
plt.show()

In [20]:

import jieba

In [21]:

jieba.lcut('上海电子信息职业电子学院')

Out[21]:

['上海', '电子信息', '职业', '电子', '学院']

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

1、容器类:图(figure)、坐标系(axes)、坐标轴(axis)、刻度(tick)
2、基础类:线(line)、点(marker)、文本(text)、图例(legend)、网格(grid)、标题(title)

三、绘图的类型:

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

In [29]:

import matplotlib.pyplot as plt
plt.plot([3,1,4,5,2])    #y轴的值
plt.ylabel('Grade')   #图标的名字
plt.savefig('../R&Q_pic/test0',dpi=600)
plt.show() #显示图例

In [27]:

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,'bs-',label='d')
plt.plot(a,a**2,'mH--',label='e')
plt.savefig('../R&Q_pic/test2',dpi=600)
plt.legend()
plt.show()      #显示图例

In [34]:

import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.family'] = 'kaiti' #设置中文字体
x = np.arange(0,4,0.02)   #生成X轴序列
y_1 = np.sin(np.pi*x)+2     #将y坐标向正方向平移两个单位
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/test3',dpi=600)
plt.show()

In [35]:

#多区域绘图
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))
plt.subplot(323)
plt.plot(a,np.cos(2*np.pi*a),'-',color='r')     #(2*np.pi*a)是π
plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'--',color='g')
plt.plot(325)
plt.plot(a,np.tan(2*np.pi*a),':',color='m')
plt.savefig('../R&Q_pic/test4',dpi=600)

In [37]:

#2?条形图:bar()
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'STSong'
years = ["2014","2015","2016","2017","2018","2019"]
baokao_nums = [172, 164.9, 177, 201, 238, 290]
luqu_nums = [54.87, 57.06, 58.98, 72.22, 76.25, 79.3]
x = range(len(years))
plt.bar(x, height=baokao_nums, width=0.4)
plt.bar([i + 0.4 for i in x], luqu_nums, width=0.4)
plt.xticks([i + 0.2 for i in x], years)
plt.legend(["研究生报考人数", "研究生录取人数"])
plt.ylabel("人数/万人")
plt.xlabel("年份")
plt.title("研究生历年报考和录取情况")
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.show()

In [38]:

#3、饼图:pie()
#案例:已知一个学生一天的活动时间分配为:学习8小时、睡觉7小时、吃饭三小时、玩乐6小时,绘制该学生一天时间分配饼状图
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'FangSong' #设置字体
plt.rcParams['font.size'] = 18 #设置字体大小
labels = ['学习','睡觉','吃饭','玩乐'] #活动标签
hours = [8,7,3,6] #时间分配
colors = ['c','m','r','y'] #各部分颜色
plt.pie(hours, labels=labels, colors=colors, shadow=True,explode=(0,0.1,0,0),  \
        autopct='%.1f%%', labeldistance=1.2) #请分别测试说明各参数的含义
plt.title("一天时间分配饼状图")
plt.savefig('../R&Q_pic/test6',dpi=600)
plt.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值