Spaces:
Running
Running
File size: 1,040 Bytes
0f267ee 2afeeb0 0f267ee 2bc0680 0f267ee d04febe 2bc0680 0f267ee 2bc0680 d04febe 2bc0680 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import matplotlib.pyplot as plt
import matplotlib.dates as mdates
from io import BytesIO
import pandas as pd
def plot_candlestick(df):
try:
df = df.tail(50).copy()
df['timestamp'] = pd.to_datetime(df['timestamp'])
fig, ax = plt.subplots(figsize=(8, 4))
for _, row in df.iterrows():
color = 'green' if row['close'] >= row['open'] else 'red'
ax.plot([row['timestamp'], row['timestamp']], [row['low'], row['high']], color='black')
ax.plot([row['timestamp'], row['timestamp']], [row['open'], row['close']], color=color, linewidth=5)
ax.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M'))
ax.xaxis.set_major_locator(mdates.AutoDateLocator())
plt.xticks(rotation=45)
plt.title('Candlestick Chart (MEXC)')
plt.tight_layout()
buf = BytesIO()
plt.savefig(buf, format='png')
buf.seek(0)
plt.close(fig)
return buf
except Exception as e:
print("Chart error:", e)
raise e
|