【问题标题】:Matplotlib plotting Julian Days in X values pythonMatplotlib 在 X 值 python 中绘制 Julian Days
【发布时间】:2020-04-13 15:30:36
【问题描述】:

您好,我在绘制从 16000 到 17000 的条形图 x 值时遇到问题,我不知道如何解决。提前谢谢你。

plt.title("Site Data Availability")
plt.xlabel("Julian Year Dates (YYDDD)")
plt.ylabel("Instrument Sites")
plt.axhline(y="BTK", color='r', linestyle='-', linewidth=10)
plt.axhline(y="BTK", xmin=16000, xmax=17000, color='b', linestyle='-', linewidth=10) #issues with this line
plt.xlim(15000, 20000)
plt.xticks(rotation=90)

plt.show()

【问题讨论】:

  • 你得到了什么?你想要什么?
  • 这是一张为了简化而直观地解释它的图像:imgur.com/a/XF1Ew1N
  • @AndyB 请以完整的方式增加您的问题。在这里,您可以很好地解释什么是“好问题”:stackoverflow.com/help/how-to-ask 例如,添加您在评论中提供的链接,还包括一个有效的代码 sn-p - 需要所有导入。

标签: python matplotlib days julian-date


【解决方案1】:

编辑你的行:

plt.axhline(y="BTK", xmin=.2, xmax=.4, color='b', linestyle='-', linewidth=10)

解释: xminxmax 必须是介于 0 和 1 之间的值。

在您的代码中,0 由 15000 表示,1 对应于 20000。

您可以使用线性插值器并找出 16000 (0.2) 和 17000 (0.4) 的百分比。

【讨论】:

  • 这是一张为了简化而直观地解释它的图像:imgur.com/a/XF1Ew1N
  • 更新了我的答案。查看并告诉我它是否适合您。
【解决方案2】:

使用hlines:

plt.title("Site Data Availability")
plt.xlabel("Julian Year Dates (YYDDD)")
plt.ylabel("Instrument Sites")
plt.axhline(y="BTK", color='r', linestyle='-', linewidth=10)
plt.hlines(y="BTK", xmin=16000, xmax=17000, color='b', linestyle='-', linewidth=10, zorder=10) #issues with this line
plt.xlim(15000, 20000)
plt.xticks(rotation=90)

plt.show()

输出:

在哪里

  • axhline -- 在轴上添加一条水平线。
  • hlines -- 在数据坐标中添加水平线。阴谋 每个 y 处的水平线从 xmin 到 xmax。

【讨论】:

    猜你喜欢
    • 2020-11-09
    • 1970-01-01
    • 2014-02-26
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多