学习笔记-Plotly的基本使用方式(二)
利用Plotly绘制散点图
上一篇博客中简单介绍了Plotly模块的整体情况,安装方法以及相对应的一些实例应用。接下来的几篇博客将是对于一些基本图形(散点图、折线图、条形图和柱状图)的绘制进行一个系统的介绍。话不多说,直接冲冲冲!!!
1、基础散点图绘制
:example1
import plotly as py
from plotly.graph_objs import *
trace = Scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16], mode = "markers")
data = [trace]
py.offline.plot(data)
example2
import plotly aspy
from plotly.graph_objs import *
import plotly.express as px
fig = px.scatter(df, x="sepal_width", y="sepal_length")
py.offline.plot(fig)
这里说明一下iris()鸢尾花数据集,Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这4个特征预测鸢尾花卉属于(iris-setosa, iris-versicolour, iris-virginica)中的哪一品种。具体的使用案例可以参照这篇文章
(链接:https://www.jianshu.com/p/52b86c774b0b)
下面是鸢尾花数据集的格式:
'''
SepalLength SepalWidth PetalLength PetalWidth Name
0 5.1 3.5 1.4 0.2 Iris-setosa
1 4.9 3.0 1.4 0.2 Iris-setosa
2 4.7 3.2 1.3 0.2 Iris-setosa
3 4.6 3.1 1.5 0.2 Iris-setosa
4 5.0 3.6 1.4 0.2 Iris-setosa
'''
完成的鸢尾花数据集,我已经放在了百度网盘中,需要的小伙伴可以自行提取:
https://pan.baidu.com/s/1oEcNDuG35necJS43Y_BCFQ
提取码:CSAT
2、使用列名设置点的大小和颜色
这里我们还是使用鸢尾花数据集
import plotly as py
import plotly.express as px
from plotly.graph_objs import *
import plotly.graph_objs as go
df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", color="species",
size='petal_length', hover_data=['petal_width'])
py.offline.plot(fig)
这里通过“species”的不同来表示不同的颜色,根据“petal_length”来改变不同相对应颜色的点的大小。
hover_data=[’ ']表示悬停文本,即当鼠标指向某一点时,会将该点数据的信息展示出来,运行结果如下所示:
3、气泡散点图的绘制
import plotly as py
import plotly.graph_objects as go
fig = go.Figure(data=go.Scatter(
x=[1, 2, 3, 4],
y=[10, 11, 12, 13],
mode='markers',
marker=dict(size=[40, 60, 80, 100],
color=[0, 1, 2, 3])
))
py.offline.plot(fig)
marker = dict(size = [40, 60, 80, 100], color = [0, 1, 2, 3])是用来设置每个点的颜色和大小,需要注意的是数据的大小需要和点的数量保持一致。运行结果如下:
4、样式散点图的绘制
import plotly as py
import plotly.graph_objects as go
import numpy as np
t = np.linspace(0, 10, 100)
fig = go.Figure()
fig.add_trace(go.Scatter(
x=t, y=np.sin(t),
name='sin',
mode='markers',
marker_color='rgba(152, 0, 0, .8)'
))
fig.add_trace(go.Scatter(
x=t, y=np.cos(t),
name='cos',
marker_color='rgba(255, 182, 193, .9)'
))
fig.update_traces(mode='markers', marker_line_width=2, marker_size=10)
fig.update_layout(title='Styled Scatter',
yaxis_zeroline=False, xaxis_zeroline=False)
py.offline.plot(fig)
5、带颜色尺寸的散点图绘制
import plotly.graph_objects as go
import numpy as np
fig = go.Figure(data=go.Scatter(
y = np.random.randn(500),
mode='markers',
marker=dict(
size=16,
color=np.random.randn(500), #set color equal to a variable
colorscale='Viridis', # one of plotly colorscales
showscale=True
)
))
py.offline.plot(fig)
6、大型数据集的散点图绘制
example1
import plotly.graph_objects as go
import numpy as np
N = 100000
fig = go.Figure(data=go.Scattergl(
x = np.random.randn(N),
y = np.random.randn(N),
mode='markers',
marker=dict(
color=np.random.randn(N),
colorscale='Viridis',
line_width=1
)
))
py.offline.plot(fig)
example2
import plotly.graph_objects as go
import numpy as np
N = 100000
r = np.random.uniform(0, 1, N)
theta = np.random.uniform(0, 2*np.pi, N)
fig = go.Figure(data=go.Scattergl(
x = r * np.cos(theta), # non-uniform distribution
y = r * np.sin(theta), # zoom to see more points at the center
mode='markers',
marker=dict(
color=np.random.randn(N),
colorscale='Viridis',
line_width=1
)
))
py.offline.plot(fig)
以上就是关于散点图绘制的常见方式,所使用的都是一些基础的绘制方式。关于其他基本图形的绘制,会在以后的博客中介绍。
推荐阅读
-
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
-
Linux学习笔记(二):文件目录管理和VIM编辑器的使用
-
Python学习笔记——主要函数及基本使用(与C的对比)
-
Solr学习笔记---部署Solr到Tomcat上,可视化界面的介绍和使用,Solr的基本内容介绍,SolrJ的使用
-
php学习笔记之mb_strstr的基本使用
-
Vue.js学习笔记--4. 组件的基本使用
-
python web学习笔记二---Django框架应用和基本运行方式(基础的用户登录)
-
机器学习实战学习笔记(二)-KNN算法(2)-使用KNN算法进行手写数字的识别
-
超详细的typeScript笔记(二)类的基本使用
-
学习笔记-Plotly的基本使用方式(二)