qq_41243705 2023-03-02 22:33 采纳率: 54.5%
浏览 69
已结题

python怎么实现坐标轴标签先增大后减小

python怎么实现坐标轴标签先增大后减小,这里是先从0到270,然后从270到0

img

  • 写回答

1条回答 默认 最新

  • 幻灰龙 2023-03-02 22:48
    关注

    身份声明【我是人类】

    n = 4
    for i in range(0,n+1):
      print(i*90 if i<n else 0)
    

    结果:

    0
    90
    180
    270
    0
    

    实际上,这个是角度坐标,到了360度就又绕回来了。

    0 90 180 270 0 

    因此你还可以让它绕更多圈后再回到0.

    n = 4
    circle_count = 2
    for i in range(0,n*circle_count+1):
      print(i*90 if i<n*circle_count else 0)
    

    输出:

    0
    90
    180
    270
    360
    450
    540
    630
    0
    

    当然,如果你希望不回到0,而是达到最高度数,可以略加改造:

    n = 4
    circle_count = 2
    for i in range(0,n*circle_count+1):
      print(i*90)
    

    结果:

    0
    90
    180
    270
    360
    450
    540
    630
    720
    

    关于角度的坐标,是极坐标。

    题主希望直接给答案,那也不是不可以:

    import matplotlib.pyplot as plt
    import numpy as np
    
    import numpy as np
    
    if __name__ == "__main__":
        plt.figure(figsize=(5, 8))
        plt.xlim([0, 360])
        plt.ylim([1, 8])
    
        xticks = []
        xlabels = []
    
        n = 4
        for i in range(0, n + 1):
            xlabels.append(i * 90 if i < n else 0)
            xticks.append(i * 90)
    
        plt.xticks(xticks, xlabels)
    
        plt.show()
    

    效果如下:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月11日
  • 已采纳回答 3月3日
  • 创建了问题 3月2日

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)