在学习量化时候,在使用matplotlib绘制图标后,发现成交量的单位没有完全展示出来,源数据是没有问题
源数据如下(节选一部分):
图表输出如下:
视频中的数据展示如下,是完整的:
代码如下:
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib import style
# import json
# 设置pandas格式
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
style.use('ggplot')
df_read_form_csv = pd.read_csv('df2.csv',parse_dates=True, index_col=0)
df_read_form_csv_reverse_order = df_read_form_csv.sort_index(ascending=True)
ax1= plt.subplot2grid((9,10),(0,0),rowspan=6,colspan=10)
ax2= plt.subplot2grid((9,10),(6,0),rowspan=3,colspan=10,sharex=ax1)
ax1.plot(df_read_form_csv_reverse_order.index,
df_read_form_csv_reverse_order['close'])
ax1.plot(df_read_form_csv_reverse_order.index,
df_read_form_csv_reverse_order['ma5])
ax2.plot(df_read_form_csv_reverse_order.index,
df_read_form_csv_reverse_order['volume'])
plt.show()
这个问题纠结了很久,麻烦有经验的人指导一下哪里出错了,谢谢
应该是单位的问题吧。
首先你说的视频中的没有问题的截图显示的数据日期和你做出来的截图中的数据的日期不一样,数据都不一样,无法做对比,你要检查下原数据是否也是这样的。
其次,检查下数据的单位有没有区别
plt.gca().yaxis.set_major_formatter(mticker.FormatStrFormatter('%d'))
加上这行代码就行,累坏了源数据又检查,网上找了很久终于搞掂