画图方法总结

python绘图总结

绘图1

# -*- coding: utf-8 -*- 
import matplotlib.pyplot as plt
import numpy as np
docnames=['X1','X2','TX3','X4','X5']
doctopic=[[0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1],[0.09,0.11,0.09,0.11,0.09,0.11,0.09,0.11,0.09,0.11],[0.12,0.08,0.12,0.08,0.12,0.08,0.12,0.08,0.12,0.08],[0.14,0.06,0.14,0.06,0.14,0.06,0.14,0.06,0.14,0.06],[0.15,0.05,0.15,0.05,0.15,0.05,0.15,0.05,0.15,0.05]]
doctopic=np.array(doctopic)
N, K = doctopic.shape
ind = np.arange(N)
width = 0.5
plots = []
height_cumulative = np.zeros(N)
for k in range(K):
	color = plt.cm.coolwarm(k/K, 1)
	if k == 0:
		p = plt.bar(ind, doctopic[:, k], width, color=color)
	else:
		p = plt.bar(ind, doctopic[:, k], width, bottom=height_cumulative, color=color)
	height_cumulative += doctopic[:, k]
	plots.append(p)
plt.ylim((0, 1))
plt.ylabel('Probability')
plt.title('SAMPLE 1')
plt.xticks(ind, docnames)   #改变X轴示例位置
plt.yticks(np.arange(0, 0.1, 1))  #改变Y轴示例位置
topic_labels = ['X{}'.format(k) for k in range(K)]
plt.legend([p[0] for p in plots], topic_labels,loc='center right')
plt.show()

运行结果:

绘图2

# -*- coding: utf-8 -*- 
import matplotlib.pyplot as plt
import numpy as np
import openpyxl
from pylab import *
from matplotlib.ticker import MultipleLocator, FormatStrFormatter

docnames=['Austen_Emma','Austen_Pride','Austen_Sense','CBronte_Jane','CBronte_Professor','CBronte_Villette']
doctopic=[[ 0.0625,  0.1736,  0.0819,  0.4649,  0.2171],[ 0.0574,  0.1743,  0.0835,  0.4008,  0.2839],[ 0.0599,  0.1645,  0.0922,  0.2034,  0.4801],[ 0.189 ,  0.1897,  0.3701,  0.1149,  0.1362],[ 0.2772,  0.2681,  0.2387,  0.0838,  0.1322],[ 0.3553,  0.193 ,  0.2409,  0.0865,  0.1243]]


xmajorLocator   = MultipleLocator(1) #将x主刻度标签设置为20的倍数
xmajorFormatter = FormatStrFormatter('%d') #设置x轴标签文本的格式
xminorLocator   = MultipleLocator(10) #将x轴次刻度标签设置为5的倍数


doctopic=np.array(doctopic)

doctopic=doctopic.transpose()

N, K = doctopic.shape
#topic_labels = ['No #{}'.format(k) for k in range(K)]
#topic_labels=['0','30','60','90','120','150','180','210','240']

plt.pcolor(doctopic, norm=None, cmap='Blues')#Blues
plt.yticks(np.arange(doctopic.shape[0])+0.5, docnames)
plt.xticks(np.arange(doctopic.shape[1])) #topic_labels,rotation=0
plt.gca().invert_yaxis()
plt.xticks(rotation=90)
plt.colorbar(cmap='Blues') #Oranges,Purples,Reds,hot
plt.tight_layout()

ax=plt.subplot(111)
ax.xaxis.set_major_locator(xmajorLocator)
ax.xaxis.set_major_formatter(xmajorFormatter)

plt.show()

运行结果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值