数据分析-图2-图像对象设置参数与子图

发布于:2025-05-11 ⋅ 阅读:(19) ⋅ 点赞:(0)
from matplotlib import pyplot as mp
mp.figure('A figure',facecolor='gray')
mp.plot([0,1],[1,2])
mp.figure('B figure',facecolor='lightgray')
mp.plot([1,2],[2,1])
#如果figure中标题已创建,则不会新建窗口,
#而是将旧窗口设置为当前窗口
mp.figure('A figure',facecolor='gray')
mp.plot([1,2],[2,1])
#设置窗口的参数
mp.title('A figure',fontsize=18)
mp.xlabel('time',fontsize=14)
mp.ylabel('price',fontsize=14)
mp.tick_params(labelsize=10)
mp.grid(linestyle=":")
mp.tight_layout()
mp.show()

子图subplot

import numpy as np
import matplotlib.pyplot as mp
mp.figure("Subplot",facecolor='lightgray')
for i in range(1,10):
	mp.subplot(3,3,i)
	mp.text(0.5,0.5,i,ha='center',va='center',size=36,alpha=0.6)
	mp.xticks([])
	mp.yticks([])
	mp.tight_layout()
mp.show()

网格式子图Grid 

import numpy as np
import matplotlib.pyplot as mp
import matplotlib.gridspec as mg

mp.figure('GridLayout',facecolor='lightgray')
gs=mg.GridSpec(3,3)
mp.subplot(gs[0,:2])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'1',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[:2,2])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'2',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[1,1])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'3',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[1:3,0])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'4',ha='center',va='center',size=26,alpha=0.5,color='red')
mp.subplot(gs[2,1:])
mp.xticks([])
mp.yticks([])
mp.text(0.5,0.5,'5',ha='center',va='center',size=26,alpha=0.5,color='red')

mp.tight_layout()
mp.show()

自由式布局

from matplotlib import pyplot as mp
mp.figure('FlowLayout',facecolor='lightgray')
mp.axes([0.03,0.5,0.94,0.3])
mp.text(0.5,0.5,'1',ha='center',va='center',size=36)
mp.axes([0.03,0.05,0.94,0.40])
mp.text(0.5,0.5,'1',ha='center',va='center',size=36)
mp.xticks([])
mp.yticks([])
mp.show()


import numpy as np
from matplotlib import pyplot as mp
mp.figure('GridLine',facecolor='lightgray')
ax=mp.gca()
#修改刻度定位器
ax.xaxis.set_major_locator(mp.MultipleLocator(1))#X轴的主刻度为mp.MultipleLocator(1)
ax.xaxis.set_minor_locator(mp.MultipleLocator(0.1))#次刻度为0.1

ax.yaxis.set_major_locator(mp.MultipleLocator(200))#y轴的主刻度为mp.MultipleLocator(1)
ax.yaxis.set_minor_locator(mp.MultipleLocator(50))#次刻度为50

ax.grid(which='major',axis='both',
	color='orangered',linewidth=0.75)
ax.grid(which='minor',axis='both',
	color='orangered',linewidth=0.25)
#绘制曲线
y=np.array([1,10,100,1000,100,10,1])
mp.plot(y,'o-',color='dodgerblue')
# mp.subplot(211)
# mp.title('normal',fontsize=20)
# mp.ylabel('y',fontsize=14)
# ax=mp.gca()
mp.show()


import numpy as np
from matplotlib import pyplot as mp
mp.figure('GridLine',facecolor='lightgray')
ax=mp.gca()
#修改刻度定位器
ax.xaxis.set_major_locator(mp.MultipleLocator(1))#X轴的主刻度为mp.MultipleLocator(1)
ax.xaxis.set_minor_locator(mp.MultipleLocator(0.1))#次刻度为0.1

ax.yaxis.set_major_locator(mp.MultipleLocator(200))#y轴的主刻度为mp.MultipleLocator(1)
ax.yaxis.set_minor_locator(mp.MultipleLocator(50))#次刻度为50

ax.grid(which='major',axis='both',
	color='orangered',linewidth=0.75)
ax.grid(which='minor',axis='both',
	color='orangered',linewidth=0.25)
#绘制曲线
y=np.array([1,10,100,1000,100,10,1])
mp.semilogy(y,'o-',color='dodgerblue')
# mp.subplot(211)
# mp.title('normal',fontsize=20)
# mp.ylabel('y',fontsize=14)
# ax=mp.gca()
mp.show()

semilogy对半数坐标

散点图scatter

import numpy as np
import matplotlib.pyplot as mp 

#随机生成一组数据
n=300
height=np.random.normal(175,5,n)
weight=np.random.normal(70,7,n)

mp.figure('Persons',facecolor='lightgray')
mp.title('Persons',fontsize=18)
mp.xlabel("height",fontsize=14)
mp.ylabel("weight",fontsize=14)
mp.grid(linestyle=":")
d=(height-175)**2+(weight-70)**2
mp.scatter(
	# height,weight,marker='o',s=70,label='persons',color='dodgerblue')
	height,weight,marker='o',s=70,label='persons',c=d,cmap='jet_r')
mp.legend()
mp.show()

颜色映射图:


网站公告

今日签到

点亮在社区的每一天
去签到