[英]In Pandas, can't show x-axis dates nicely and y-axis in unwanted logs
[英]Adding Text to Seaborn Graph when x-axis is dates and y-axis is logs
我有一個關於股票的線圖,我的 x 軸包含日期,y 軸包含一些日志值。
這是我的數據的一小部分:
DATE STOCK CODE HIGHEST VALUE
0 2019-01-02 GENTS.E 1.80
882 2019-01-02 IHLGM.E 1.09
1197 2019-01-02 ISGYO.E 4.60
126 2019-01-02 ALBRK.E 3.80
504 2019-01-02 DOHOL.E 2.87
這是我的 seaborn 代碼:
sns.set(font_scale=1.5)
sns.set_theme(style="ticks", palette="bright")
ax= sns.relplot(
data=part1_19H,
x="DATE", y="HIGHEST PRICE", hue="STOCK CODE",
height=10, aspect=2,
kind="line",
legend=True,
marker="o"
).set(title="First 20 Stocks of Q1 2019", ylabel="Highest Price", xlabel=None)
plt.yscale('log')
plt.xticks(rotation=45)
這是我的圖表:
無論如何,當我每次嘗試使用 plt.text() function 添加一些文本時,我都會因為協調問題而出錯。
像:
plt.text("2019-03-29", 4.10, 'Some text')
Failed to convert value(s) to axis units: '2019-03-29'
另外,可能我也會在 y 軸上出錯,因為在我的圖表中,y 軸是日志樣式,但我試圖與非日志樣式協調。
那么,如何使用日期和非日志坐標來協調圖形上的文本?
我想通了。
我們需要將日期作為日期時間,因為 seaborn 就是這樣;
from datetime import datetime as datetime
plt.text(datetime(2019,3,29), 1.2,"some text")
這將采用我們的日期時間,如 2019-03-29,它會起作用。 另外,當我們給 z 的原始值 seaborn 定位到對數坐標時,z 坐標就沒有問題了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.