![](/img/trans.png)
[英]Setting Colors For Positive and Negative Values in Scatter Plot with Matplotlib with 2 Custom Colors
[英]Setting negative values as positive values on axis matplotlib for percentages
我需要為男性和女性繪制一個圖表,其中值以百分比表示。 我看到了以下問題。 將負 y 軸轉換為正 (matplotlib)
它提供了一種使負值變為正值的解決方案,這正是我所需要的。 但是,它將以標准模式顯示它們。 0.01 而不是 1%
我已經使用了以下命令中的順序,但似乎無法正確執行。
ax.set_ylim(-0.01, 0.01)
ax.set_yticklabels([str(abs(x)) for x in ax.get_yticks()])
ax.yaxis.set_major_formatter(mtick.PercentFormatter(1))
我注意到 yticklabels 看起來像
Text(-0.01, 0, '-1.00%')
Text(-0.0075, 0, '-0.75%')
Text(-0.005, 0, '-0.50%')
Text(-0.0025000000000000005, 0, '-0.25%')
Text(0.0, 0, '0.00%')
Text(0.0025000000000000005, 0, '0.25%')
Text(0.004999999999999999, 0, '0.50%')
Text(0.0075000000000000015, 0, '0.75%')
Text(0.01, 0, '1.00%')
有沒有辦法擺脫 - 符號?
PercentFormatter
是不相關的,當你手動更改的內容yticklabels
,所以你必須做的工作到最后。 這是一個帶有正弦曲線的示例,標記為 100% 到 0% 到 100%:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
ax.plot(x,y)
ax.set_yticklabels([f"{abs(100*x)}%" for x in ax.get_yticks()])
fig.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.