1
我想繪製一個x-y圖,用x或y作爲日期變量,並使用第三個變量來着色點。 我設法做到這一點,如果沒有3個變量是日期,使用:蟒蛇 - 散點圖日期和第三個變量作爲顏色
ax.scatter(df['x'],df['y'],s=20,c=df['z'], marker = 'o', cmap = cm.jet)
搜索後,我發現,正常的陰謀,我們必須使用plot_date()。不幸的是,我沒有能夠着色點。 任何人都可以幫助我嗎?
這裏是一個小例子:
import matplotlib, datetime
import matplotlib.pyplot as plt
import matplotlib.cm as cm
import pandas as pd
todayTime=datetime.datetime.now();
df = pd.DataFrame({'x': [todayTime+datetime.timedelta(hours=i) for i in range(10)], 'y': range(10),'z' : [2*j for j in range(10)]});
xAlt=[0.5*i for i in range(10)];
fig, ax = plt.subplots()
ax.scatter(df['x'],df['y'],s=20,c=df['z'], marker = 'o', cmap = cm.jet)
plt.show()
您可以替換DF [ 'X']由xAlt看到期望的結果
謝謝
謝謝你的回答。不幸的是,這不是我所期待的。它已經適用於xAlt。我想這樣做: ax.scatter(df ['x'],df ['y'],s = 20,c = df ['z'],marker ='o',cmap = cm.jet) –
關鍵是用'xAlt'繪圖,然後用'my_formatter'函數在x-ticks中轉換'xAlt' - >'df ['x']'。這應該會在x軸上產生一個時間圖,並用第三個數組着色點。你有沒有嘗試運行上面的代碼片段?你不能使用'scatter'和'df ['x']',所以你需要使用一個類似於我所建議的解決方法。 –
好吧,我明白了!非常感謝 –