python笔记:df.plot()常见的坐标轴的操作,及正常显示负号

一、负号不显示

负号不能显示的很大可能是你用的font里边没有负号。见matplotlib unicode_minuspy,添加如下参数解决问题:

plt.rcParams['axes.unicode_minus'] = False

二、调整subplots的xaxis的起始数值

plt.xlim(left=起始数, right=结束数) 
# 等价于plt.xlim([left=起始数, right=结束数])

"""注意这样用无效: plt.xlim = (left=起始数, right=结束数) """
  • 但是,plt.开头的设定往往在subplots中只对最后一个图有效,所以需要指明设定的ax:
"""例如做一个figure+table的图: """
fig, axes = plt.subplots(1, 2, figsize=(18, 9))
P = pd.pivot_table('<blabla...>')

A = P.plot(ax=axes[0], table=np.round(P.T, 0))  # 转置的原因?plot默认index在水平x轴显示,而table把index垂直显示,所以此处P.T转置一下。
tb = A.tables[0]      # A.tables对象为list,但具体是啥还没弄明白
tb.auto_set_font_size(False)     # 因为有时候默认条件下字体大小不合适
tb.set_fontsize(8)

ax[0].xaxis.tick_top()                   # 把x轴从下边移到上边
ax[0].xaxis.set_label_position('top')    # 把x轴的名称也移到上边
ax[0].set_title('Title of ax[0]')        # 给子图设定标题
ax[0].set_xticks('[list of xticks]')     # plt往往会合并显示坐标点,这样可以显示list里每一个值
A.set_xlim(xmin=0)       # 设定x轴的最小值,此处为0
"""注意:
ax[0].set_xlim(left, right)  无效!!!!
"""

三、 操作坐标轴的label(stackoverflow链接)

核心:围绕pyplot axis()函数就可以实现。

3.1 例如隐藏坐标轴:
df.plot()

plt.axis('off')
plt.show()
plt.close()
3.2 隐藏单个的坐标轴——如x坐标 .get_xaxis()函数:
ax1 = plt.axes()
x_axis = ax1.axes.get_xaxis()
x_axis.set_visible(False)

plt.show()
plt.close()

# 或者这种
fig, axes = plt.subplots(ind_num, col_num)  # 生成ind_num * col_num个
axes[0, 1].xaxis.set_visible(False)  # 把第一个
3.3 隐藏坐标轴标签:
ax1 = plt.axes()

"""可以这样"""
x_axis = ax1.axes.get_xaxis()
x_axis.set_label_text('foo')

x_label = x_axis.get_label()
x_label.set_visible(False)

plt.show()
plt.close()

"""或者这样"""
x_axis = ax1.xaxis
x_axis.set_label_text('foo')
x_axis.lable.set_visible(False)

# 或者这样:
ax1 = plt.axes()
ax1.xaxis.set_lable_text('foo')
ax1.xaixs.label.set_visible(False)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值