matplotlib画图
jupyter内置显示plotly的图像
jupyter内置显示plotly的图像
jupyter内置显示plotly的图像,可以使用
plotly.offline.init_notebook_mode(connected=True) # initiate notebook for offline plot
plotly.offline.iplot(plotly_fig) #plotly_fig 图像数据
参考地址:https://stackoverflow.com/questions/41323423/plotly-inside-jupyter-notebook-python
jupyter 放大图像
The default figure size (in inches) is controlled by
matplotlib.rcParams['figure.figsize'] = [width, height]
For example:
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [10, 5]
参考地址:https://stackoverflow.com/questions/36367986/how-to-make-inline-plots-in-jupyter-notebook-larger
横坐标太小,可以设置自适应
mpl_fig = plt.figure() mpl_fig.autofmt_xdate() # 日期的排列根据图像的大小自适应 plt.show() 参考地址:https://blog.csdn.net/You_are_my_dream/article/details/53447960
日期格式设置
mpl_fig = plt.figure(figsize=(15,5))
ax = mpl_fig.add_subplot(1,1,1)
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d'))#设置时间标签显示格式
mpl_fig.autofmt_xdate() #自适应
matplotlib
中文乱码
#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
#有中文出现的情况,需要u'内容'
参考地址:https://www.zhihu.com/question/25404709
折线图
In [ ]:
import matplotlib
import matplotlib as mpl
import matplotlib.pyplot as plt
import plotly.plotly
import plotly.tools as tls
plotly.offline.init_notebook_mode(connected=True) # initiate notebook for offline plot
#matplotlib.rcParams['figure.figsize'] = [width, height]
plt.rcParams['figure.figsize'] = [12, 5]
#plotly.tools.set_credentials_file(username='minisstep', api_key='tABOcbW9LnTQF72sv4eb')
df['Date']=pd.to_datetime(df['Date']);
#mpl_fig = plt.figure()
#ax = mpl_fig.add_subplot(1,1,1)
#ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d'))#设置时间标签显示格式
##'-' 顺滑的曲线
plt.plot(df['Date'], df['Open'], '-');
# 设置颜色
#plt.plot(df['Date'], df['Open'], '-', color='b');
# 设置线条粗细
#plt.plot(df['Date'], df['Open'], '-', color='r', lineWidth=10);
# '--' 虚线
#plt.plot(df['Date'], df['Open'], '--');
# 设置日期的显示格式
#mpl_fig.autofmt_xdate()
#plotly.offline.init_notebook_mode(connected=True) # initiate notebook for offline plot
#plt.show() # 显示图形
plotly_fig = tls.mpl_to_plotly(mpl_fig)
#plotly.offline.plot(plotly_fig,filename='plotly.html') #新窗口代开html图像
plotly.offline.iplot(plotly_fig)

mport matplotlib
import matplotlib as mpl
import matplotlib.pyplot as plt
import plotly.plotly
import plotly.tools as tls
plotly.offline.init_notebook_mode(connected=True) # initiate notebook for offline plot
#matplotlib.rcParams['figure.figsize'] = [width, height]
plt.rcParams['figure.figsize'] = [5, 5]
#plotly.tools.set_credentials_file(username='minisstep', api_key='tABOcbW9LnTQF72sv4eb')
##对日期格式进行转换
# df = stock.reset_index()
# df.columns
# df.dtypes
df['Date']=pd.to_datetime(df['Date']);
mpl_fig = plt.figure()
ax = mpl_fig.add_subplot(1,1,1)
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d'))#设置时间标签显示格式
##'-' 顺滑的曲线
plt.plot(df['Date'], df['Open'], '-');
# 设置颜色
#plt.plot(df['Date'], df['Open'], '-', color='b');
# 设置线条粗细
#plt.plot(df['Date'], df['Open'], '-', color='r', lineWidth=10);
# '--' 虚线
#plt.plot(df['Date'], df['Open'], '--');
# 设置日期的显示格式
#date_format = mpl.dates.DateFormatter("%Y-%m-%d")
#ax.xaxis.set_major_formatter(date_format)
mpl_fig.autofmt_xdate()
#plt.show() # 显示图形
plotly_fig = tls.mpl_to_plotly(mpl_fig)
#plotly.offline.plot(plotly_fig,filename='plotly.html') #新窗口代开html图像
plotly.offline.iplot(plotly_fig)
折线图—函数式
In [ ]:
import matplotlib
import matplotlib as mpl
import matplotlib.pyplot as plt
import plotly.plotly
import plotly.tools as tls
plotly.offline.init_notebook_mode(connected=True) # initiate notebook for offline plot
font = {
'family' : 'SimHei',
'style':'normal'
}
def plot_curve(data,x,y,title):
fig = plt.figure(figsize=(15,5))
ax = fig.add_subplot(1,1,1)
ax.xaxis.set_major_formatter(matplotlib.dates.DateFormatter('%Y-%m-%d')) #设置时间标签显示格式
mpl_fig.autofmt_xdate()
plt.title(title)
x=data[x]
y=data[y]
plt.plot(x,y,'o-')
plt.show()
print(df.head())
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plot_curve(df,'Date','Open','曲线绘图title')
Date Open High Low Close Adj Close Volume 0 2017-01-03 18.193300 18.386700 18.133301 18.260000 18.139015 11332152 1 2017-01-04 18.173300 18.719999 18.173300 18.680000 18.556232 21044218 2 2017-01-05 18.886700 19.219999 18.719999 18.746700 18.622492 22187223 3 2017-01-06 18.780001 18.780001 18.453300 18.526699 18.403948 12729573 4 2017-01-09 18.546700 18.740000 18.506701 18.626699 18.503284 9420570

散点图
小技巧:散点图绘制,可以适当将表格展示出来,更容易看清趋势
In [ ]:
#print(df.head())
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
plt.plot(df['Open'], df['Close'], '.') #"."或者'o'小点还是大点
plt.plot(df['Open'], df['Close'], 'o',color='indigo') #"."或者'o'小点还是大点
plt.xlabel('开盘价'); #x轴标签
plt.ylabel('收盘价'); #y轴标签
plt.title('开盘价与收盘价散点图')
plt.grid(True);
plt.show()

饼图
In [ ]:
#print(df.head())
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
tmp_df = df[['Open','High','Low','Close']]
tmp_df['stock_name'] = '科大讯飞'
melt_df = tmp_df.melt(id_vars=["stock_name"], var_name="type", value_name="price" )
print(melt_df.head())
print(melt_df.dtypes)
pie_data = melt_df.groupby(by=['type'],as_index=False)['price'].agg({'平均':np.mean});
print(pie_data)
## 绘图