我是靠谱客的博主 魁梧金鱼,最近开发中收集的这篇文章主要介绍plotly笔记--常见平面图形的绘制(Scatter、Bar、Histogram、Pie)plotly笔记–简单平面图形的绘制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

plotly笔记–简单平面图形的绘制

文章目录

  • plotly笔记--简单平面图形的绘制
    • 前期准备
    • 1、Scatter
      • lines
      • line_shape
      • markers
      • markers+lines型
    • 2、Bar
      • 单条bar
      • 多条bar
      • 层叠柱状图
    • 3、Histogram
    • 4、Pie

这篇文章将简单描述怎么使用plotly绘制常用的平面图形,文中使用到的数据是从天池下载的经典泰坦尼克训练数据集,需要此数据的小朋友们可以前往天池下载,我也会将文中使用到的数据和源代码放在Github上以便下载: Github

前期准备

# 前期准备
#导入plotly
import plotly
# 查看库的版本
plotly.__version__
# 注意此处是两个"_"

在这里插入图片描述

import pandas as pd
import numpy as np
import os
# 查看当前路径
os.getcwd()
# 更改当前工作目录
os.chdir("F:/天池数据集/泰坦尼克/")
# 将目录里的内容输出为列表
os.listdir()

在这里插入图片描述

# 读入数据
titain_data = pd.read_csv("titanic_train.csv")
# 对数据情况大致了解一下
titain_data.head()
titain_data.info()
titain_data.describe()
# 观察数据类型,缺失值,最值等方面信息,对如何进行后面的数据处理整体把控

在这里插入图片描述

# 对Age项统计缺失值
titain_data["Age"].isnull().sum()
# 对Age的空值进行前向替换
titain_data["Age"].fillna(method="ffill", inplace=True)
# 再次查看缺失值状况
titain_data["Age"].isnull().sum()
# 对目标字段进行描述
titain_data["Age"].describe()

在这里插入图片描述

# 对数据中年龄进行分段统计,并使用plotly绘制出散点图/线形图
w = [0, 15, 30, 45, 60, 100]
titain_data["Age_bin"] = pd.cut(
    titain_data["Age"],
    bins=w,
    labels=['0-15岁', '15-30岁', '30-45岁', '45-60岁', '60岁以上'],
    right=False)
Age_x = titain_data["Age_bin"].value_counts(sort=False)
# titain_data.head()
Age_x
x = list(Age_x.index)
y = Age_x.values

下面开始绘图

1、Scatter

lines

# Scatter
# mode:定义图形的类型,线形或者散点或线+点
import plotly.graph_objects as go
# lines型
trace0 = Scatter(x=x, y=y, mode="lines", name="年龄分布")
fig = go.Figure(trace)
fig.update_layout(title="Age", xaxis_title="Age", yaxis_title="number")
fig.show()

在这里插入图片描述

line_shape

几种不同类型的线条画法:linear、spline、vh、hv、vhv、hvh

import plotly.graph_objects as go
import numpy as np

x = np.array([1, 2, 3, 4, 5])
y = np.array([1, 3, 2, 3, 1])

fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, name="linear",
                    line_shape='linear'))
fig.add_trace(go.Scatter(x=x, y=y + 5, name="spline",
                    text=["tweak line smoothness<br>with 'smoothing' in line object"],
                    hoverinfo='text+name',
                    line_shape='spline'))
fig.add_trace(go.Scatter(x=x, y=y + 10, name="vhv",
                    line_shape='vhv'))
fig.add_trace(go.Scatter(x=x, y=y + 15, name="hvh",
                    line_shape='hvh'))
fig.add_trace(go.Scatter(x=x, y=y + 20, name="vh",
                    line_shape='vh'))
fig.add_trace(go.Scatter(x=x, y=y + 25, name="hv",
                    line_shape='hv'))

fig.update_traces(hoverinfo='text+name', mode='lines+markers')
fig.update_layout(legend=dict(y=0.5, traceorder='reversed', font_size=16))

fig.show()

在这里插入图片描述

markers

# markers型
trace = Scatter(x=x,
                y=y,
                mode="markers",
                name="年龄分布",
                marker=dict(size=8,
                            color=np.random.randn(5),
                            colorscale="Viridis",
                            showscale=True))
fig = go.Figure(trace)
fig.update_layout(title="Age", xaxis_title="Age", yaxis_title="number")
fig.show()

在这里插入图片描述

markers+lines型

# markers+lines型
trace = Scatter(x=x,
                y=y,
                mode="markers+lines",
                name="年龄分布",
                line=dict(width=2, color="indianred"))
fig = go.Figure(trace)
fig.update_layout(title="Age", xaxis_title="Age", yaxis_title="number")
fig.show()

在这里插入图片描述

2、Bar

单条bar

# bar
bar1 = go.Bar(
    x=x,
    y=y,
    text=y,
    textposition='outside',
    width=0.6,
    marker=dict(color=["indianred", "yellow", "blue", "darkgray", "darkgreen"],
                opacity=0.39))     # opacity设置透明度
fig = go.Figure(bar1)
fig.show()

在这里插入图片描述

多条bar

# 多条bar
# 凭空想像一个y1
y1 = y * 2
bar1 = go.Bar(x=x, y=y, text=y, textposition='outside',name="真实数据")
bar2 = go.Bar(x=x, y=y1, text=y1, textposition='outside',name="我瞎掰的值")
layout = go.Layout(title="年龄分布图",
                   xaxis=dict(title="年龄"),
                   yaxis=dict(title="数量"))
fig = go.Figure(data=[bar1, bar2], layout=layout)
fig.show()

在这里插入图片描述

层叠柱状图

# 层叠柱状图
bar1 = go.Bar(
    x=x,
    y=y,
    text=y,
    textposition='outside',
    name="真实数据",
    marker=dict(pacity=0.4))
bar2 = go.Bar(
    x=x,
    y=y1,
    text=y1,
    textposition='outside',
    name="我瞎掰的值",
    marker=dict(pacity=0.6))
layout = go.Layout(title="年龄分布图",
                   xaxis=dict(title="年龄"),
                   yaxis=dict(title="数量"),
                   barmode="stack")
fig = go.Figure(data=[bar1, bar2], layout=layout)
fig.show()

在这里插入图片描述

3、Histogram

# Histogram
hist = go.Histogram(x=titain_data["Age"],
                    histnorm='probability',
                    marker=dict(color="darkgreen", opacity=0.39),
                    xbins={'size': 10})
fig = go.Figure(hist)
fig.update_layout(bargap=0.1)
fig.show()

在这里插入图片描述

4、Pie

# Pie
pie = go.Pie(labels=Age_x.index,
             values=Age_x.values,
             hole=0.3,
             textfont=dict(size=12, color='white'))  # hole为中间部分洞的大小
layout = go.Layout(title="不同年龄比例")
fig = go.Figure(data=pie, layout=layout)
fig.show()

在这里插入图片描述

更多内容大家可以查看官网教程:官网链接

最后

以上就是魁梧金鱼为你收集整理的plotly笔记--常见平面图形的绘制(Scatter、Bar、Histogram、Pie)plotly笔记–简单平面图形的绘制的全部内容,希望文章能够帮你解决plotly笔记--常见平面图形的绘制(Scatter、Bar、Histogram、Pie)plotly笔记–简单平面图形的绘制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部