Python matplotlib plotly绘制图表详解

 更新时间:2022年03月16日 09:08:20   作者:渴望成为寂寞胜者  
plotly本身是个生态非常复杂的绘图工具,它对很多编程语言提供接口。交互式和美观易用应该是 Plotly 最大的优势,而 Matplotlib 的特点则是可定制化程度高,但语法也相对难学,各有优缺点。本文将通过示例详细讲解二者是如何绘制图表的,需要的可以参考一下

一、整理数据

以300部电影作为数据源

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

在这里插入图片描述

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

二、折线图

# 折线图
iplot([dict01])

在这里插入图片描述

三、散点图

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

在这里插入图片描述

请添加图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

四、饼图

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)

在这里插入图片描述

请添加图片描述

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)

在这里插入图片描述

五、柱形图

# 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)

在这里插入图片描述

六、点图(设置多个go对象)

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)

在这里插入图片描述

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)

在这里插入图片描述

七、2D密度图

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

在这里插入图片描述

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='评分与人次')

在这里插入图片描述

八、简单3D图

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

请添加图片描述

以上就是Python matplotlib plotly绘制图表详解的详细内容,更多关于Python matplotlib plotly的资料请关注脚本之家其它相关文章!

相关文章

  • Python排序函数的使用方法详解

    Python排序函数的使用方法详解

    这篇文章主要给大家介绍了关于Python排序函数使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python实现读取并写入Excel文件过程解析

    Python实现读取并写入Excel文件过程解析

    这篇文章主要介绍了Python实现读取并写入Excel文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • protobuf 序列化和反序列化操作流程

    protobuf 序列化和反序列化操作流程

    Protocol Buffers(protobuf)是一种轻量级的数据交换格式,可以用于结构化数据的序列化和反序列化,它使用二进制格式来编码数据,以提高传输效率和数据压缩比,这篇文章主要介绍了protobuf 序列化和反序列化操作流程,需要的朋友可以参考下
    2024-06-06
  • Python的Socket编程过程中实现UDP端口复用的实例分享

    Python的Socket编程过程中实现UDP端口复用的实例分享

    这篇文章主要介绍了Python的Socket编程过程中实现UDP端口复用的实例分享,文中作者用到了Python的twisted异步框架,需要的朋友可以参考下
    2016-03-03
  • python无限生成不重复(字母,数字,字符)组合的方法

    python无限生成不重复(字母,数字,字符)组合的方法

    今天小编就为大家分享一篇python无限生成不重复(字母,数字,字符)组合的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python中numpy数组与list相互转换实例方法

    python中numpy数组与list相互转换实例方法

    在本篇文章里小编给大家整理的是一篇关于python中numpy数组与list相互转换实例方法,对此有兴趣的朋友们可以学习下。
    2021-01-01
  • Python如何把Spark数据写入ElasticSearch

    Python如何把Spark数据写入ElasticSearch

    这篇文章主要介绍了Python如何把Spark数据写入ElasticSearch,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python操作SQLite简明教程

    Python操作SQLite简明教程

    这篇文章主要介绍了Python操作SQLite简明教程,简单明了的入门教程,包含连接、建表、增删修查等例子,需要的朋友可以参考下
    2014-07-07
  • Pandas.concat连接DataFrame,Series的示例代码

    Pandas.concat连接DataFrame,Series的示例代码

    本文主要介绍了Pandas.concat连接DataFrame,Series的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python3字符串输出常见面试题总结

    python3字符串输出常见面试题总结

    在本篇文章里小编给大家整理的是一篇关于python3字符串输出常见面试题总结内容,有需要的朋友们可以参考下。
    2020-12-12

最新评论