使用 Seaborn 散点图绘制最近的数据点
Plotting the most recent data points with Seaborn scatterplot
我正在尝试使用 Seaborn 的散点图绘制股票的预测值与实际值,我可以很好地绘制散点图,但我想做的也是用不同的颜色可视化今天的数据。
我试过:
current_x = df['Prediction'].iloc[-1]
current_y = df['Actual'].iloc[-1]
并绘制但收到此错误消息:
ValueError: If using all scalar values, you must pass an index.
如有任何帮助,我们将不胜感激。
编辑:
所以我有一个 df
包含 df['Prediction']
和 df['Actual']
列的价格数据,到目前为止我使用的打印散点图的代码非常简单:
sns.scatterplot(x='Predicted', y='Actual, data=data)
我正在寻找的只是在这个原始散点图的顶部绘制 x 和 y 的今天最新数据,所以每个 .iloc[-1]
,如果你愿意的话。
有点老套,但这行得通。
data = pd.DataFrame({'Prediction': np.random.rand(10),
'Actual': np.random.rand(10)})
sns.scatterplot(x='Prediction', y='Actual', data=data)
sns.scatterplot(x='Prediction', y='Actual', data=data.iloc[-1].to_frame().T)
创建散点图时使用参数 hue
。如果您没有 hue
,您可以为您的简单案例轻松创建一个:
data['hue']=[0]*(len(df)-1)+[1]
sns.scatterplot(x='Predicted', y='Actual', hue='hue', data=data)
如果您想直接使用 matplotlib 而不是 seaborn,可以非常直接地绘制除最后一点和最后一点之外的所有内容。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'Prediction': np.random.rand(10),
'Actual': np.random.rand(10)})
# Plot all but the last point
plt.scatter(x='Prediction', y='Actual', data=data.iloc[:-1])
# Plot only the last point
plt.scatter(x='Prediction', y='Actual', data=data.iloc[-1])
plt.show()
我正在尝试使用 Seaborn 的散点图绘制股票的预测值与实际值,我可以很好地绘制散点图,但我想做的也是用不同的颜色可视化今天的数据。
我试过:
current_x = df['Prediction'].iloc[-1]
current_y = df['Actual'].iloc[-1]
并绘制但收到此错误消息:
ValueError: If using all scalar values, you must pass an index.
如有任何帮助,我们将不胜感激。
编辑:
所以我有一个 df
包含 df['Prediction']
和 df['Actual']
列的价格数据,到目前为止我使用的打印散点图的代码非常简单:
sns.scatterplot(x='Predicted', y='Actual, data=data)
我正在寻找的只是在这个原始散点图的顶部绘制 x 和 y 的今天最新数据,所以每个 .iloc[-1]
,如果你愿意的话。
有点老套,但这行得通。
data = pd.DataFrame({'Prediction': np.random.rand(10),
'Actual': np.random.rand(10)})
sns.scatterplot(x='Prediction', y='Actual', data=data)
sns.scatterplot(x='Prediction', y='Actual', data=data.iloc[-1].to_frame().T)
创建散点图时使用参数 hue
。如果您没有 hue
,您可以为您的简单案例轻松创建一个:
data['hue']=[0]*(len(df)-1)+[1]
sns.scatterplot(x='Predicted', y='Actual', hue='hue', data=data)
如果您想直接使用 matplotlib 而不是 seaborn,可以非常直接地绘制除最后一点和最后一点之外的所有内容。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
data = pd.DataFrame({'Prediction': np.random.rand(10),
'Actual': np.random.rand(10)})
# Plot all but the last point
plt.scatter(x='Prediction', y='Actual', data=data.iloc[:-1])
# Plot only the last point
plt.scatter(x='Prediction', y='Actual', data=data.iloc[-1])
plt.show()