网站更新内容:请访问: https://bigdata.ministep.cn/

pyplot画图示例

pyplot画图示例
matplotlib 混用

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'
}

# 导入模块
import pandas as pd
import matplotlib.pyplot as plt

# 设置绘图风格
plt.style.use('ggplot')
# 设置中文编码和负号的正常显示
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['font.sans-serif']=['SimHei'] ##字体,避免中文乱码
# 读取需要绘图的数据
df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d')
#sub_data = df.loc[(df.date >= '2019-03-01')&(df.date <='2017-08-09')&(df.type =='A')]
sub_data = df
# 设置图框的大小
fig = plt.figure(figsize=(12,10))
# 绘图
plt.plot(sub_data.日期, # x轴数据
         sub_data.订单实收收入, # y轴数据
         linestyle = '-', # 折线类型
         linewidth = 2, # 折线宽度
         color = 'steelblue', # 折线颜色
         marker = 'o', # 点的形状
         markersize = 6, # 点的大小
         markeredgecolor='black', # 点的边框色
         markerfacecolor='brown') # 点的填充色

# 添加标题和坐标轴标签
plt.title('订单实收收入')
plt.xlabel('日期')
plt.ylabel('订单实收收入')

# 剔除图框上边界和右边界的刻度
#plt.tick_params(top = 'False', right = 'False')

# 获取图的坐标信息
ax = plt.gca()
# 设置日期的显示格式  
date_format = mpl.dates.DateFormatter("%Y-%m-%d")  
ax.xaxis.set_major_formatter(date_format) 

# 设置x轴显示多少个日期刻度
#xlocator = mpl.ticker.LinearLocator(10)
# 设置x轴每个刻度的间隔天数
xlocator = mpl.ticker.MultipleLocator(1)
ax.xaxis.set_major_locator(xlocator)

# 为了避免x轴日期刻度标签的重叠,设置x轴刻度自动展现,并且45度倾斜
fig.autofmt_xdate(rotation = 45)

# 显示图形
#plt.show()
plotly_fig = tls.mpl_to_plotly(fig)
plotly_fig['layout'].update(xaxis= {'tickformat':"%y/%m/%d"}) #layout可以交互显示数据
plotly.offline.iplot(plotly_fig)

另外一个例子

data['订单实收收入_diff_1'] = data['订单实收收入'].diff(1)
data['订单实收收入_diff_2'] = data['订单实收收入_diff_1'].diff(1)
fig = plt.figure(figsize=(12,6))
plt.plot(data.日期, # x轴数据
         data.订单实收收入_diff_2, # y轴数据
         linestyle = '-', # 折线类型
         linewidth = 2, # 折线宽度
         color = 'steelblue', # 折线颜色
         marker = 'o', # 点的形状
         markersize = 6, # 点的大小
         markeredgecolor='black', # 点的边框色
         markerfacecolor='brown') # 点的填充色
#plt.show()
plotly_fig = tls.mpl_to_plotly(fig)
plotly_fig['layout'].update(xaxis= {'tickformat':"%y/%m/%d"}) #layout可以交互显示数据
plotly.offline.iplot(plotly_fig)
posted @ 2021-04-04 20:06  ministep88  阅读(126)  评论(1编辑  收藏  举报
网站更新内容:请访问:https://bigdata.ministep.cn/