鱼C论坛

 找回密码
 立即注册
查看: 2370|回复: 1

求助,画图时使用rotation但是标签无法旋转

[复制链接]
发表于 2019-8-20 15:46:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
练习matplotlib中,想旋转标签,但是使用rotation=90后输出结果并没有将标签旋转,请问是怎么回事?

import matplotlib.pyplot as plt
import numpy as ny

x = ny.linspace(-3,3,50)
y1 = 2*x+1
y2 = x**2

plt.figure(num=3,figsize=(16,10))
l1,=plt.plot(x,y1,color='black',linewidth=3,label='line1')
l2,=plt.plot(x,y2,color='red',linewidth=3, linestyle='--',label='line2')

plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel('X')
plt.ylabel('Y')

#设置纵轴标签
plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad$','bad','normal','good','real good'])
plt.xticks(rotation=90)

#设置坐标轴
ax= plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom') #用下轴代替X轴
ax.yaxis.set_ticks_position('left') #用左轴代替Y轴
ax.spines['bottom'].set_position(('data',0))#横坐标在Y的0处
ax.spines['left'].set_position(('data',0))#纵坐标在X的0处

#图例设置
plt.legend(handles=[l1,l2,],labels=['aa','bb'],loc='best')

plt.savefig("testblueline.jpg")
plt.show()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-23 09:50:22 | 显示全部楼层

  1. import matplotlib.pyplot as plt
  2. import numpy as ny

  3. x = ny.linspace(-3,3,50)
  4. y1 = 2*x+1
  5. y2 = x**2

  6. plt.figure(num=3,figsize=(16,10))
  7. l1,=plt.plot(x,y1,color='black',linewidth=3,label='line1')
  8. l2,=plt.plot(x,y2,color='red',linewidth=3, linestyle='--',label='line2')

  9. plt.xlim((-1,2))
  10. plt.ylim((-2,3))
  11. plt.xlabel('X')
  12. plt.ylabel('Y')

  13. #设置纵轴标签
  14. plt.yticks([-2,-1.8,-1,1.22,3],[r'$really\ bad,'bad','normal','good','real good'])
  15. #plt.xticks(rotation=90)#删掉

  16. #设置坐标轴
  17. ax= plt.gca()
  18. ax.spines['right'].set_color('none')
  19. ax.spines['top'].set_color('none')
  20. ax.xaxis.set_ticks_position('bottom') #用下轴代替X轴
  21. ax.yaxis.set_ticks_position('left') #用左轴代替Y轴
  22. ax.spines['bottom'].set_position(('data',0))#横坐标在Y的0处
  23. ax.spines['left'].set_position(('data',0))#纵坐标在X的0处

  24. #加上……………………………………
  25. for xtick in ax.get_xticklabels():
  26.     xtick.set_rotation(90)
  27. #加上……………………………………
  28.    
  29. #图例设置
  30. plt.legend(handles=[l1,l2,],labels=['aa','bb'],loc='best')

  31. plt.savefig("testblueline.jpg")
  32. plt.show()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-21 11:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表