坐标轴的定制

绘制某股票一周内收盘价折线图

%matplotlib notebook
import numpy as np
import matplotlib.pyplot as plt

设置中文黑体

plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False

准备数据

x_data = np.arange(1,8,1)
y_data = [44.98, 45.02, 44.32, 41.05, 42.08, 42.08, 42.08] # 周末休市

创建画布和坐标系

fig, ax = plt.subplots()

绘图

ax.plot(x_data, y_data)

定制刻度

ax.set_xticks(x_data)
ax.set_yticks(np.arange(40,46,0.5)) # 设置y轴刻度范围和步长

设置轴标签

ax.set_xlabel('日期')
ax.set_ylabel('收盘价')

隐藏上轴脊和右轴脊

ax.spines['right'].set_visible(False)  # 隐藏右边的轴脊
ax.spines['top'].set_visible(False)    # 隐藏上边的轴脊

展示图表

plt.show()

代码图如下

# matplotlib中文网 https://www.matplotlib.org
 
# 需求一:绘制某股票一周内收盘价折线图(见运行结果展示图)
 
%matplotlib notebook
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, ax = plt.subplots()
 
# 3.绘图
ax.plot(x_data, y_data)
 
# 4.定制刻度
ax.set_xticks(x_data)
ax.set_yticks(np.arange(40,46,0.5)) # 设置y轴刻度范围和步长
 
# 5.设置轴标签
ax.set_xlabel('日期')
ax.set_ylabel('收盘价')
 
# 6.隐藏上轴脊和右轴脊
ax.spines['right'].set_visible(False)  # 隐藏右边的轴脊
ax.spines['top'].set_visible(False)    # 隐藏上边的轴脊
 
# 7.展示图表
plt.show()

展示图如下

Python matplotlib库中axes()函数详解
在Python的matplotlib库中,axes()函数用于创建坐标轴。这是一个非常基础的函数,其具体的语法格式取决于你要创建的坐标轴类型。

通常情况下,axes()函数可以接受以下参数:

projection:这定义了坐标轴的类型,例如'rectilinear'(默认)用于直坐标轴,'polar'用于极坐标轴。
subplot:这可以创建一个子图。例如,如果你正在使用figure()函数创建一个新的图形,并且希望在图形上创建一个子图,你可以使用subplot()函数。
sharex, sharey:这允许你与其他坐标轴共享x或y轴。
axespos:这允许你设置坐标轴的位置。
frame_on:这允许你决定是否显示坐标轴的框架。
所以,一个典型的axes()函数的调用可能看起来像这样:

import matplotlib.pyplot as plt

fig = plt.figure()

ax = fig.add_subplot(111, projection='polar') # 创建一个极坐标轴

如果你想与另一个坐标轴共享x或y轴,你可以这样做:

fig = plt.figure()

ax1 = fig.add_subplot(111) # 创建第一个坐标轴

ax2 = fig.add_axes([ax1.xaxis.get_window_extent().x0, 0, 0.5, ax1.yaxis.get_window_extent().y0-ax1.yaxis.get_position().width]) # 创建第二个坐标轴,与第一个共享x轴

在特定的上下文中,Locator的常见子类可能包括:
1. **HourLocator**:这是一个特殊的刻度定位器,它用于在时间轴上定位小时。它的构造函数接受参数如byhour,interval,和tz。
2. **MinuteLocator**:这个定位器用于在时间轴上定位分钟。
3. **SecondLocator**:这个定位器用于在时间轴上定位秒。
4. **DayLocator**:这个定位器用于在时间轴上定位天。
5. **MonthLocator**:这个定位器用于在时间轴上定位月。
6. **YearLocator**:这个定位器用于在时间轴上定位年。

formatter是指刻度格式器的基类,它的一些常见子类可能包括以下几种:
1. **NumberFormatter**:这是一个数字刻度格式器,用于将数字值转换为字符串表示形式。
2. **DateFormatter**:这是一个日期刻度格式器,用于将日期值转换为字符串表示形式。
3. **TimeFormatter**:这是一个时间刻度格式器,用于将时间值转换为字符串表示形式。
4. **CurrencyFormatter**:这是一个货币刻度格式器,用于将货币值转换为字符串表示形式。
5. **PercentageFormatter**:这是一个百分比刻度格式器,用于将百分比值转换为字符串表示形式。
6. **ScientificFormatter**:这是一个科学刻度格式器,用于将科学计数法表示的值转换为字符串表示形式。
tick_params()其语法格式如下:

tick_params(axis='both',**kwargs)

参数说明:
axis:表示选择操作的轴,可以取值为'x'、 'y'或'both', 默认为'both'。

reset:若设为True,表示在处理其他参数之前均使用参数的默认值。

. which:表示刻度的类型,可以取值为'major'、 'minor'或'both', 默认为'major。direction: 表示刻度线的方向,可以取值为'in'、'out' 或'inout'。

. length :表示刻度线的长度。

. width:表示刻度线的宽度。

color :表示刻度线的颜色。

.pad:表示刻度线与刻度标签的距离。

. labelize :表示刻度标签的字体大小。

. labelcolor :表示刻度标签的颜色。

: botom, top, lef, right:表示是否显示下方、 上方、左侧、右侧的刻度线。:

bebotom, lblo, lbele, helright : 表示是否显示下方、上方、左侧、右侧的刻度标签

 labelrotaion :表示刻度标签旋转的角度。

隐藏轴脊
asis()函数的语法格式:

axis(option,*args,**kwargs)
该函数的参数option可以接收布尔值或字符串。其中,布尔值True表示显示轴脊和刻度,False表示隐藏轴脊和刻度。字符串通常可以是以下任一-取值:

 'on':显示轴脊和刻度,等同于True。

'of :隐藏轴脊和刻度,等同于False。

 'equal' :通过更改轴限设置等比例。

'scaled' :通过更改绘图框的尺寸设置等比例。

 'tight' :设置足够大的限制以显示所有的数据。

'auto' :自动缩放。

此外,Axes 类的对象也可以使用axis(0方法隐藏坐标轴的轴脊。
 

隐藏部分轴脊

依次隐藏上轴脊、左轴脊和右轴脊

ax.spines['top'].set_visible('none')
ax.spines['left'].set_visible('none')
ax.spines['right'].set_visible('none')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值