首页 > 编程语言 > 详细

python_Plotly_Express_scatter

时间:2020-04-13 19:23:15      阅读:157      评论:0      收藏:0      [点我收藏+]

一、使用 Plotly Experss

1. 散点图

a. 输入数据:

1 import plotly.express as px
2 fig = px.scatter(x=[0, 1, 2, 3, 4], y=[0, 1, 4, 9, 16])
3 fig.show()

b. Pandas导入:

重新命名X,Y轴名称;还可以设置颜色,Size,等;其中的颜色,大小等参数,输入的都是列名称;

import plotly.express as px
df = px.data.iris() # iris is a pandas DataFrame
# fig = px.scatter(df, x="sepal_width", y="sepal_length",color=‘species‘,size=‘petal_length‘,hover_data=[‘petal_width‘])
fig =px.scatter(df,x="sepal_width", y="sepal_length",labels={sepal_width:xxxx,sepal_length:yyyy},color=species,size=petal_length,hover_data=[sepal_length])

fig.show()

技术分享图片

 

 

2. 线图

a. 直接输入:

import plotly.express as px
import numpy as np

t = np.linspace(0, 2*np.pi, 100)

fig = px.line(x=t, y=np.cos(t), labels={x:t, y:cos(t)})
fig.show()

技术分享图片

 

 b. Pandas输入:其中的颜色,大小等参数,输入的都是列名称;

 

import plotly.express as px
df = px.data.gapminder().query("continent == ‘Oceania‘")
fig = px.line(df, x=year, y=lifeExp, color=country)
fig.show()

技术分享图片

 

 

二、 使用 go.Scatter  (go: plotly.graph_objects) 

1.最简单的散点图

import plotly.graph_objects as go
import numpy as np

N = 1000
t = np.linspace(0, 10, 100)
y = np.sin(t)

fig = go.Figure(data=go.Scatter(x=t, y=y, mode=markers))

fig.show()

技术分享图片

 

 

2. 散点图的集中不同形式

技术分享图片
 1 import plotly.graph_objects as go
 2 
 3 # Create random data with numpy
 4 import numpy as np
 5 np.random.seed(1)
 6 
 7 N = 100
 8 random_x = np.linspace(0, 1, N)
 9 random_y0 = np.random.randn(N) + 5
10 random_y1 = np.random.randn(N)
11 random_y2 = np.random.randn(N) - 5
12 
13 fig = go.Figure()
14 
15 # Add traces
16 fig.add_trace(go.Scatter(x=random_x, y=random_y0,
17                     mode=markers,
18                     name=markers))
19 fig.add_trace(go.Scatter(x=random_x, y=random_y1,
20                     mode=lines+markers,
21                     name=lines+markers))
22 fig.add_trace(go.Scatter(x=random_x, y=random_y2,
23                     mode=lines,
24                     name=lines))
25 
26 fig.show()
不同形式的散点图

技术分享图片

 

 

3.气泡散点图

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

fig.show()

技术分享图片

 

 

4. 稍复杂的散点图

技术分享图片
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)
))

# Set options common to all traces with fig.update_traces
fig.update_traces(mode=markers, marker_line_width=2, marker_size=10)
fig.update_layout(title=Styled Scatter,
                  yaxis_zeroline=False, xaxis_zeroline=False)


fig.show()
稍复杂的散点图

技术分享图片

 

 

5. 悬停显示

技术分享图片
import plotly.graph_objects as go
import pandas as pd

data= pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/2014_usa_states.csv")

fig = go.Figure(data=go.Scatter(x=data[Postal],
                                y=data[Population],
                                mode=markers,
                                marker_color=data[Population],
                                text=data[State])) # 悬停显示的设置项

fig.update_layout(title=Population of USA States)
fig.show()
View Code

技术分享图片

 

 

6. 有颜色维度的散点图

技术分享图片
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
    )
))

fig.show()
View Code

技术分享图片

 

 

 7. 处理大数据集

建议使用Scattergl() 代替 Scatter(), 可以增加提高速度,改善交互性,以及绘制更多数据的能力!

技术分享图片
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
    )
))

fig.show()
View Code

技术分享图片

 

 

技术分享图片
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
    )
))

fig.show()
View Code

技术分享图片

 

python_Plotly_Express_scatter

原文:https://www.cnblogs.com/zhemeshenqi/p/12693083.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!