Python matplotlib plotly

1. Organize the data

Take 300 movies as data source

import pandas as pd 
cnboo=pd.read_excel("cnboNPPD1.xls")
cnboo 

insert image description here

import seaborn as sns
import numpy as np 
import matplotlib as mpl
from matplotlib import pyplot as plt 
import pandas as pd 
from datetime import datetime,timedelta
%matplotlib inline
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
from datetime import datetime 
! pip install plotly # 安装
import matplotlib.pyplot as plt
import plotly
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot
x=cnboo['BO'].tolist()
y=cnboo['PERSONS'].tolist()
dict01={
    
    "x":x,"y":y}
dict01

2. Line chart

# 折线图
iplot([dict01])

insert image description here

3. Scatter plot

import plotly.graph_objs as go
iplot([go.Scatter(x=x,y=y,mode='markers')])

insert image description here
Please add image description

# 随机生成的点图
import numpy as np
iplot([go.Scatter(x=np.random.randn(100),y=np.random.randn(100),mode='markers')])
go 

insert image description here

trace=go.Scatter(x=cnboo['PRICE'],y=y,mode='markers',)
data=[trace]
iplot(data)

insert image description here

trace=go.Scatter(x=cnboo['PRICE'],y=y,mode='markers',marker=dict(color='red',size=9,opacity=0.4))
data=[trace]
iplot(data)

insert image description here

4. Pie Chart

colors=['#dc2624','#2b4750','#45a0a2','#e87a59','#7dcaa9','#649E7D','#dc8018',
       '#C89F91','#6c6d6c','#4f6268','#c7cccf']
filmtype=cnboo['TYPE']
filmbo=cnboo['PRICE']
trace=go.Pie(labels=filmtype,values=filmbo,
            hoverinfo='label+percent',textinfo='value',textfont=dict(size=10),
             marker=dict(colors=colors,line=dict(color='#000000',width=3)))
data=[trace]
iplot(data)

insert image description here
Please add image description

filmtype=cnboo['TYPE']
filmbo=cnboo['PRICE']
trace=go.Pie(labels=filmtype,values=filmbo,
            hoverinfo='label+percent',textinfo='value',textfont=dict(size=12),
             marker=dict(colors=colors))
data=[trace]
iplot(data)

insert image description here

Five, column chart

# plotly bar
trace1=go.Bar(x=cnboo['TYPE'],y=cnboo['PRICE'],name="类型与票价")
trace2=go.Bar(x=cnboo['TYPE'],y=y,name="类型与人数")
layout=go.Layout(title="中国电影类型与票价,人数的关系",xaxis=dict(title='电影类型'))
data=[trace1,trace2]
fig=go.Figure(data,layout=layout)
iplot(fig)

insert image description here

Six, point map (set multiple go objects)

trace1=go.Scatter(x=cnboo['TYPE'],y=cnboo['PRICE'],name="类型与票价",mode="markers",
                  marker=dict(color="red",size=8))
trace2=go.Scatter(x=cnboo['TYPE'],y=cnboo['PERSONS'],name="类型与人数",mode="markers",
                  marker=dict(color="blue",size=5))
data=[trace1,trace2]
iplot(data)

insert image description here

trace1=go.Scatter(x=cnboo['TYPE'],y=cnboo['PRICE'],name="类型与票价",mode="markers",
                  marker=dict(color="red",size=8))
trace2=go.Scatter(x=cnboo['TYPE'],y=cnboo['PERSONS'],name="类型与人数",mode="markers",
                  marker=dict(color="blue",size=5))
layout=go.Layout(title="中国电影类型与票价,人数的关系",plot_bgcolor="#FFFFFF")
data=[trace1,trace2]
fig=go.Figure(data,layout=layout)
iplot(fig)

insert image description here

7. 2D density map

import plotly.figure_factory as ff
fig=ff.create_2d_density(x,y,colorscale=colors,hist_color='#dc2624',point_size=5)
iplot(fig,filename='评分与人次')

insert image description here

colorscale=['rgb(20, 38, 220)',
 'rgb(255, 255, 255)'] # 最后一个颜色都是调用背景
fig=ff.create_2d_density(x,y,colorscale=colorscale,hist_color='#dc2624',point_size=5)
iplot(fig,filename='评分与人次')

insert image description here

Eight, simple 3D map

layout=go.Layout(title="中国电影票房与人次,票价的关系",barmode="group") 
trace01=go.Scatter3d(
    x=cnboo['BO'],
    y=cnboo['PRICE'],
    z=cnboo['PERSONS'],
    mode='markers',
    marker=dict(size=12,color=colors,colorscale='Viridis',
               opacity=0.5,showscale=True)  #opacity是透明度
)
data=[trace01]
fig=go.Figure(data=data,layout=layout)
iplot(fig,filename='3d')

Please add image description

Guess you like

Origin blog.csdn.net/wxfighting/article/details/123514597