![](/img/trans.png)
[英]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.