坐标轴的定制

matpllib中的直角坐标系山两条水平坐标轴、两条直全标轴以及围成的绘得区域构,以限制图形显示的区城、其左侧和下方的坐标轴(叫 y轴和x铀)经常被使用,其他坐标轴很少被使用。
坐标轴的结构相同、主要包括轴脊、度,其中度又可以细分为刻度线和刻度标签刻度线又可以细分为主刻度线和次到度线,坐标轴的各部分均是matplotlib类的对象:坐轴是auxAus 类的对象:轴脊是spineSpine类的对象:制度是axisTicker类的对象。此外常用的x轴是一个arisXanis类的对象、r轴是一个axisYaxis类的对象。如前所述的所有类的对象均包含于Axs类对象中、可通过Axes类的一些属性分别获取,关于这些属性的介绍如下
·xuxa:获取x轴。 yaxis :获取y轴。
:获取包含全部轴脊的字典。
访问apites属性后会返回一个OrderedDict类的对象。OrderedDict类是diat的子类,它可以维护距加到字典中的键值对的顺序。

定制样式(轴脊,刻度线,刻度标签)

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.patches as mpathes
#在画布的任意位置添加坐标系【坐标任意大小】

ax=plt.axes((0.3,0.3,0.5,0.5))#(left,bottom,width,height)

#正多边形

polygon=mpathes.RegularPolygon((0.5,0.5),4,0.2)#创建一个正多边形的实例
circle1=mpathes.Circle((0.5,0.5),0.5)#创建一个圆的实例
circle2=mpathes.CirclePolygon((0.5,0.5),0.2,8)#创建一个逼近圆的实例
circle3=mpathes.Ellipse((0.4,0.4),0.5,0.25,45)#创建一个椭圆实例

#将多边形实例绘制到坐标系上

ax.add_patch(circle1)


#【利用Xaxis/Yaxis类方法实现轴样式的定制】
#x轴
ax.xaxis.set_tick_params(direction='in',length=10,width=8,pad=10,color='m')
#y轴
ax.yaxis.set_tick_params(direction='in',length=10,width=8,pad=10,color='m')

#隐藏轴脊
ax.spines['top'].set_color('none')#先获取对应轴样实例,设置颜色为透明
#(相当于隐藏了轴脊,不包括刻度线标签和刻度线)
#ax.spines['right'].set_color('none')
#ax.spines['bottom'].set_color('none')
#隐藏刻度线
#ax.yaxis.set_tick_params(color='none')
#ax.set_xticks([])
#ax.tick_params(axis='x',color='none')

#隐藏刻度标签
ax.set_xticklabels([])

#隐藏全部轴脊--隐藏所有坐标轴
ax.axis('on')# or 'off'


#移动轴脊
ax.spines['bottom'].set_position(('data',0.5))
ax.spines['left'].set_position(('data',0.5))
plt.show()

运行效果图:

import numpy as np
import matplotlib.pyplot as plt
 
# 0.设置中文黑体
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
 
# 1.准备数据
x_data = np.arange(1,8,1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] 
 
# 2.创建画布和坐标系
fig=plt.figure()
ax=fig.add_axes((0.2,0.2,0.5,0.5))
 # 3.绘图
ax.set_xlabel('周日期')
ax.set_ylabel('收盘价(¥)')
ax.plot(x_data,y_data,'mo-',markersize=13)
 # 4.定制刻度
ax.set_xticks([1,2,3,4,5,6,7])
ax.set_xticklabels(['周一','周二','周三','周四','周五','周六','周日'])
# 5.设置轴标签
plt.tick_params(direction='in',length=8,width=2,colors='k')
ax.yaxis.set_tick_params(labelrotation=90)
# 6.隐藏上轴脊和右轴脊
ax.spines['top'].set_color('none')
ax.spines['right'].set_color('none')
 
# 7.展示图表
plt.show()

效果图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值