舍入失败时如何将图例显示为零小数位?
Posted
技术标签:
【中文标题】舍入失败时如何将图例显示为零小数位?【英文标题】:How do you display legends to zero decimal places when rounding fails? 【发布时间】:2020-06-02 02:58:21 【问题描述】:我无法创建可重现的 MWE - 此快照显示了我遇到问题的输出。
我想以此为情节图例 (matplotlib) 创建标签,但我需要它的小数位为零。是否有更可靠的 round
形式,您可以在其中强制零小数位?或者,还有其他方法可以让这个工作吗?我不想手动创建列表,因为我正在绘制的值以及形成它们的函数会发生变化。
我确实尝试分配plot_R(thetaValues[40])*1e6
的输出,然后对其进行四舍五入,但这也不起作用。我还尝试调用round
两次以防万一。有趣的是,它四舍五入到小数点后 0(如果四舍五入到 1,则输出为 160.3),它仍然在打印“.0”
【问题讨论】:
【参考方案1】:如果你想截断小数点,你可以这样做:
decimal_round = round(plot_R(thetaValues[40])*1e6)
str_decimal = str(decimal_round)
if "." in str_decimal:
decimal_round = int(str_decimal[:str_decimal.index(".")])
这会找到小数点 pt 的索引,对字符串表示进行切片以删除小数点和后面的所有内容,然后重新转换为 int。
希望对您有所帮助,祝编程愉快!
【讨论】:
以上是关于舍入失败时如何将图例显示为零小数位?的主要内容,如果未能解决你的问题,请参考以下文章