我正尝试绘制一个条形图,其中包含数据框中日期与加密货币的价格的对比,每天有731个样本。当我绘制图形时,我得到的图像如下所示。由于日期的数量,x轴不可读,我想这样做,因此它仅在x轴上标记每个月的1号。
这是我当前拥有的图形:https://imgur.com/a/QVNn4Zp
我尝试使用其他在stackoverflow和其他来源(例如youtube)上在线发现的方法,但均未成功。
这是我到目前为止绘制条形图的代码。
df.plot(kind='bar',x='Date',y='Price in USD (at 00:00:00 UTC)',color='red')
plt.show()
答案 0 :(得分:0)
一种选择是使用matplotlib绘制数字条形图。
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import pandas as pd
start = pd.to_datetime("5-1-2012")
idx = pd.date_range(start, periods= 365)
df = pd.DataFrame({'Date': idx, 'A':np.random.random(365)})
fig, ax = plt.subplots()
dates = mdates.date2num(df["Date"].values)
ax.bar(dates, df["A"], width=1)
loc = mdates.AutoDateLocator()
ax.xaxis.set_major_locator(loc)
ax.xaxis.set_major_formatter(mdates.AutoDateFormatter(loc))
plt.show()
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
pd.plotting.register_matplotlib_converters()
start = pd.to_datetime("5-1-2012")
idx = pd.date_range(start, periods= 365)
df = pd.DataFrame({'Date': idx, 'A':np.random.random(365)})
fig, ax = plt.subplots()
ax.bar(df["Date"], df["A"], width=1)
plt.show()
有关其他选项,请参见Pandas bar plot changes date format